/* The posts are part of the document itself: top hardware at the hero and
   stone footings on the footer ground, with one continuous timber shaft
   between them. They do not stay pinned to the browser window. */
body>main::before,body>main::after,
body.portal-page main::before,body.portal-page main::after,
body.admin-page main::before,body.admin-page main::after{display:none!important}
html,body{overflow-x:clip}body{position:relative}
.post-overlay{--post-detail:clamp(660px,50vw,820px);position:absolute;inset:0;z-index:2147483647;pointer-events:none;overflow:hidden}
.post-side{position:absolute;top:0;bottom:0;width:clamp(205px,17.5vw,286px);overflow:hidden}
.post-spine{position:absolute;z-index:1;top:calc(var(--post-detail) * .38);bottom:calc(var(--post-detail) * .48);width:calc(var(--post-detail) * .15);background:url('media/brand/dawkins-post-timber-shaft.svg') center top / 108px 246px repeat-y;filter:drop-shadow(3px 1px 3px #20100655)}
.post-side .post-art,.post-side .post-crown{display:block;position:absolute;z-index:1;width:calc(var(--post-detail) * .666667);height:var(--post-detail);max-width:none;object-fit:contain;filter:drop-shadow(4px 2px 4px #20100655)}
.post-side .post-crown{top:-12px;clip-path:inset(0 0 51%)}
.post-side .post-art{bottom:-2px;clip-path:inset(49% 0 0)}
.post-overlay .post-left{left:-28px}.post-overlay .post-left .post-spine{left:4px}.post-overlay .post-left .post-art,.post-overlay .post-left .post-crown{left:calc(var(--post-detail) * -.28125)}
.post-overlay .post-right{right:-28px}.post-overlay .post-right .post-spine{right:4px;transform:scaleX(-1)}.post-overlay .post-right .post-art,.post-overlay .post-right .post-crown{right:calc(var(--post-detail) * -.28125);transform:scaleX(-1)}
/* The fixed-screen experimental rig is intentionally held back until its
   rope path is redesigned around this real document-height structure. */
.winch-system{display:none!important}
@media(min-width:1024px){.post-overlay{--post-detail:clamp(720px,38vw,820px)}}
@media(min-width:601px){body.portal-page main,body.admin-page main{width:min(1100px,74vw)!important}}
/* Mobile keeps the same true top-to-footer construction at a smaller scale. */
@media(max-width:850px){
  .post-overlay{--post-detail:clamp(260px,68vw,340px)}
  .post-side{width:calc(var(--post-detail) * .19)}
  .post-spine{top:calc(var(--post-detail) * .36);bottom:calc(var(--post-detail) * .44);width:calc(var(--post-detail) * .11);filter:drop-shadow(2px 0 2px #20100644)}
  .post-overlay .post-left{left:-2px}.post-overlay .post-left .post-spine{left:0}.post-overlay .post-left .post-art,.post-overlay .post-left .post-crown{left:calc(var(--post-detail) * -.2890625)}
  .post-overlay .post-right{right:-2px}.post-overlay .post-right .post-spine{right:0}.post-overlay .post-right .post-art,.post-overlay .post-right .post-crown{right:calc(var(--post-detail) * -.2890625)}
}
@media(max-width:600px){
  .hero-copy,.start,.work,.method,.contact{padding-inline:54px!important}
  .hero-copy>p{padding-inline:0!important}
  .hero h1{font-size:clamp(29px,8.2vw,45px)!important;line-height:1.08!important}
  .section-copy h2,.method h2{font-size:clamp(29px,8vw,42px)!important;line-height:1.1!important}
  .contact h2{font-size:clamp(25px,7.5vw,42px)!important;line-height:1.1!important}
  .work>.section-copy,.work>.craft-scope{margin-left:0!important}
  .craft-scope article{grid-template-columns:1fr!important;text-align:center}
  .craft-scope img{grid-row:auto!important;margin-inline:auto}
  .path-grid{grid-template-columns:1fr!important;gap:32px!important}
  .contact-tools{flex-direction:column!important;align-items:center!important}
  .contact-tool{width:100%!important}
  .site-header>.brand{width:calc(100% - 92px)!important}
  .tool-roll{width:calc(100vw - 80px)!important}
  .tool-roll a img,.tool-roll a:hover img,.tool-roll a:focus-visible img{width:clamp(34px,11vw,46px)!important;height:clamp(34px,11vw,46px)!important;transform:translateY(9px)!important}
  .menu-button{right:44px!important}
  .footer-actions{left:48px!important;right:48px!important}
  .social-rack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px!important}
  .footer-actions .builder-desk{position:static!important;display:grid!important;place-items:center;align-self:center!important;gap:4px}
  .footer-actions .builder-desk span{display:block!important;font-size:12px!important}
  footer>p{left:52px!important;right:52px!important;bottom:300px!important;width:auto!important}
  body.portal-page main,body.admin-page main{box-sizing:border-box!important;width:100%!important;padding:24px 54px 76px!important}
  body.portal-page h1,body.admin-page h1{font-size:clamp(30px,8.3vw,44px)!important}
  body.portal-page .card,body.admin-page .panel{padding-inline:0!important}
  .portal-heading-block{max-width:100%!important}
  .desk-nav{gap:6px!important}
  .desk-nav button{width:calc((100% - 12px)/3)!important;min-width:0}
  .desk-nav img{width:60px!important;height:60px!important}
  .desk-nav span{font-size:13px!important}
}

/* Hand-worked copper treatment for the display lettering. Body copy stays
   plain and readable; only names, destinations, and calls to action are forged. */
body:not(.portal-page):not(.admin-page) h1,
body:not(.portal-page):not(.admin-page) h2,
body:not(.portal-page):not(.admin-page) h3,
body:not(.portal-page):not(.admin-page) .kicker,
body:not(.portal-page):not(.admin-page) .path-card strong,
body:not(.portal-page):not(.admin-page) .tool-roll span,
body:not(.portal-page):not(.admin-page) .contact-tool span,
body:not(.portal-page):not(.admin-page) footer p{
  color:#542314!important;
  text-shadow:-1px -1px 0 rgba(246,194,116,.62),1px 1px 0 rgba(42,16,9,.7),2px 3px 3px rgba(34,15,8,.32)!important;
  letter-spacing:.025em;
}

/* The previous full-height side treatment was assembled from cropped and
   repeated image fragments. Hide that artificial overlay until it can be
   rebuilt as one natural, continuous post. */
.post-overlay{display:none!important}
