/* One quiet timber at the foot of the photograph, using its original natural
   edge and uninterrupted grain. The hardware-heavy transition is removed. */
#footer{background:#efe3cf!important;isolation:isolate}
#footer::before{display:none!important}
#footer>.footer-scene{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 72px)!important;mask-image:linear-gradient(to bottom,transparent,#000 72px)!important}
#footer>.footer-sill{position:absolute;inset:auto -2px 0;width:calc(100% + 4px);height:clamp(125px,10vw,160px);z-index:3;pointer-events:none;filter:drop-shadow(0 -3px 6px #1f12094d)}
#footer>.footer-wordmark{top:clamp(-92px,-7vw,-28px)!important;left:50%!important;width:min(980px,82vw)!important;transform:translateX(-50%) scaleY(.82)!important;z-index:4!important}
#footer .footer-actions{z-index:5!important;bottom:22px!important;left:clamp(165px,15vw,240px)!important;right:clamp(165px,15vw,240px)!important}
#footer .footer-actions .builder-desk{position:static!important;display:flex!important;flex-direction:column!important;opacity:1!important;gap:6px!important;color:#ffe3ad!important;text-shadow:0 2px 3px #160c06;flex-shrink:0}
#footer .footer-actions{gap:clamp(14px,2vw,32px)!important}
#footer .footer-actions .builder-desk img{width:64px!important;height:64px!important}
#footer .footer-actions .social-rack{gap:clamp(12px,2vw,32px)!important}
#footer .footer-actions .builder-desk span{display:block!important;font-size:14px!important}
#footer .social-rack a span{color:#ffe3ad!important;text-shadow:0 2px 3px #160c06,0 0 5px #160c06!important}
/* This is the timber that leaves the foot of the hero when the lifting rig
   takes over. The moving copy is only drawn by the desktop rig. */
body .hero-lift-timber{display:none!important}
@media(min-width:1024px){
  #footer>.footer-sill{height:130px}
  .solid-rig-ready .hero-copy::before,.solid-rig-ready .hero-lift-timber{display:none!important}
  .solid-rig-ready #footer>.footer-sill{visibility:hidden}
  .solid-rig-ready #footer{isolation:auto!important}
  .solid-rig-ready #footer>.footer-scene{z-index:0!important}
  .solid-rig-ready #footer .footer-actions{z-index:205!important}
  #footer .footer-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:min(650px,calc(100% - 320px));left:50%!important;right:auto!important;transform:translateX(-50%);gap:14px!important;bottom:12px!important;align-items:start!important}
  #footer .footer-actions .social-rack{display:contents!important}
  #footer .footer-actions a,#footer .footer-actions .builder-desk{display:grid!important;grid-template-rows:64px 28px;justify-items:center;align-items:start;gap:4px!important;min-width:0!important;margin:0!important;padding:0!important;text-align:center}
  #footer .footer-actions a img{width:64px!important;height:64px!important;object-fit:contain!important}
  #footer .footer-actions a span{font-size:13px!important;line-height:14px!important;white-space:normal}
  .carried-timber{position:fixed;left:-2px;top:0;width:calc(100% + 4px);z-index:199;pointer-events:none;filter:drop-shadow(0 -3px 6px #1f12094d);will-change:transform}
  .header-timber{position:absolute;left:-2px;width:calc(100% + 4px);height:130px;z-index:5;pointer-events:none;filter:drop-shadow(0 -3px 6px #1f12094d)}
  .site-header>.brand{width:min(880px,calc(100vw - 360px))!important;left:50%!important;transform:translateX(-50%)!important}
  #footer>.footer-wordmark{width:min(880px,calc(100vw - 360px))!important}
  .hero-rigging-span{position:absolute;left:50%;top:105px;width:min(680px,calc(100% - 440px));height:auto;transform:translateX(-50%);z-index:4;pointer-events:none;filter:brightness(.84) saturate(.8)}
}
@media(max-width:850px){
  #footer .footer-actions{left:70px!important;right:70px!important}
}
@media(max-width:600px){
  #footer>.footer-wordmark{top:-28px!important;width:calc(100% - 92px)!important}
  #footer>.footer-sill{height:118px!important}
  #footer .footer-actions{left:6px!important;right:6px!important;bottom:12px!important;display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:center!important;gap:2px!important}
  #footer .footer-actions .builder-desk{left:auto!important;gap:2px!important}
  #footer .footer-actions .builder-desk img{width:46px!important;height:46px!important}
  #footer .footer-actions .builder-desk span{font-size:9px!important}
  #footer .footer-actions .social-rack{display:flex!important;flex-wrap:nowrap!important;gap:2px!important}
  #footer .footer-actions .social-rack a{min-width:52px!important}
  #footer .footer-actions .social-rack a img{width:46px!important;height:46px!important}
  #footer .footer-actions .social-rack a span{font-size:9px!important}
}

/* The public front door has one obvious first action. Existing clients and
   trade partners receive their routes only after choosing that path. */
.path-grid{grid-template-columns:minmax(0,220px)!important;justify-content:center!important}
.path-grid .path-card:not(:first-child){display:none!important}
#inquiry .existing-route{margin:18px 0 0!important}
#inquiry .existing-route>div{display:grid;gap:8px;margin-top:10px}
#inquiry .existing-route a{color:#6f321c;font-weight:700}

/* The full-height timber artwork belongs to desktop. On a phone it crowds
   the reading column and becomes visibly stretched, so retain the hero's
   original artwork and remove only the added edge overlay. */
@media(max-width:850px){.post-overlay{display:none!important}}

/* Footer: the social destinations are the visible row on the timber. The
   Builder's Desk remains available, but lives separately at the far left. */
#footer .footer-actions{left:0!important;right:0!important;bottom:0!important;width:auto!important;height:132px!important;transform:none!important;display:block!important}
#footer .footer-actions .builder-desk{position:absolute!important;left:clamp(10px,2vw,30px)!important;bottom:12px!important;display:grid!important;justify-items:center!important;gap:3px!important;opacity:.7!important}
#footer .footer-actions .builder-desk img{width:46px!important;height:46px!important}
#footer .footer-actions .builder-desk span{font-size:10px!important}
#footer .footer-actions .social-rack{position:absolute!important;left:50%!important;bottom:12px!important;transform:translateX(-50%)!important;display:flex!important;flex-wrap:nowrap!important;align-items:flex-end!important;gap:clamp(14px,2.4vw,34px)!important}
#footer .footer-actions .social-rack a{min-width:68px!important;text-align:center!important}
#footer .footer-actions .social-rack a img{width:66px!important;height:66px!important;transform:translateY(-27px)!important;filter:brightness(1.24) saturate(1.22) contrast(1.08) drop-shadow(0 0 4px rgba(255,207,123,.95)) drop-shadow(0 0 13px rgba(206,132,57,.62)) drop-shadow(0 7px 5px rgba(18,8,4,.72))!important}
#footer .footer-actions .social-rack a span{display:block!important;color:#ffe5ad!important;font-size:12px!important;text-shadow:0 1px 2px #160b06,0 0 7px rgba(255,194,104,.82)!important}

/* Keep the right A-frame clear of the method copy; give the left rig its
   original solid, weathered presence. */
.work .rigging-frame{opacity:1!important;filter:saturate(1.04) contrast(1.06) drop-shadow(10px 12px 13px rgba(44,25,13,.28))!important}
.method .rigging-right{right:clamp(-210px,-15vw,-132px)!important;top:58%!important;opacity:.72!important}

/* A readable tool roll: each tool has breathing room and a permanent label. */
@media(min-width:851px){
  .tool-roll{width:min(1080px,calc(100vw - 44px))!important;aspect-ratio:1.48!important;padding:11.5% 16.5% 13.5%!important}
  .tool-roll a img{width:clamp(82px,7.4vw,108px)!important;height:clamp(82px,7.4vw,108px)!important}
  .tool-roll a span{opacity:1!important;bottom:2px!important;font-size:14px!important;max-width:15ch!important}
}

/* Menus and project notes sit directly on the jobsite artwork.  The useful
   controls remain legible, but no opaque sheet or business-card panel is
   placed between the visitor and the page. */
.tool-roll.open{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}
.tool-roll.open .tool-roll-title,
.tool-roll.open a span{
  text-shadow:0 1px 2px rgba(255,244,218,.92),0 0 8px rgba(255,244,218,.82)!important;
}
body:not(.portal-page):not(.admin-page) dialog{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#25170f!important;
  text-shadow:0 1px 2px rgba(255,244,218,.95),0 0 8px rgba(255,244,218,.85)!important;
}
body:not(.portal-page):not(.admin-page) dialog::backdrop{
  background:rgba(20,12,7,.58)!important;
}
body:not(.portal-page):not(.admin-page) dialog input,
body:not(.portal-page):not(.admin-page) dialog textarea{
  background:rgba(255,246,226,.16)!important;
  border:0!important;
  border-bottom:2px solid rgba(74,43,25,.8)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#25170f!important;
}
@media(max-width:600px){
  #footer .footer-actions{height:118px!important}
  #footer .footer-actions .builder-desk{left:7px!important;bottom:10px!important;opacity:.58!important}
  #footer .footer-actions .builder-desk img{width:40px!important;height:40px!important}
  #footer .footer-actions .builder-desk span{font-size:8px!important}
  #footer .footer-actions .social-rack{bottom:10px!important;gap:2px!important}
  #footer .footer-actions .social-rack a{min-width:52px!important}
  #footer .footer-actions .social-rack a img{width:48px!important;height:48px!important;transform:translateY(-20px)!important}
  #footer .footer-actions .social-rack a span{font-size:8px!important}
  .tool-roll{width:calc(100vw - 8px)!important;aspect-ratio:1.12!important;padding:14% 14% 17%!important}
  .tool-roll a img{width:54px!important;height:54px!important}
  .tool-roll a span{opacity:1!important;font-size:10px!important;bottom:1px!important}
}

/* The builder's menu is a simple plan sheet: every destination says what it
   is for before anyone opens it. The weathered paper keeps it part of the
   jobsite rather than a generic dashboard panel. */
.tool-roll-title{display:none}
.site-header:has(.tool-roll.open){z-index:2500!important}
.tool-roll.open{
  position:absolute!important;
  top:116px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(960px,calc(100vw - 32px))!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:22px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  gap:10px!important;
  background:
    repeating-linear-gradient(0deg,transparent 0 27px,rgba(67,47,31,.12) 28px,transparent 29px),
    repeating-linear-gradient(90deg,transparent 0 27px,rgba(67,47,31,.10) 28px,transparent 29px),
    linear-gradient(135deg,#e8ddc6,#cbb796 48%,#e6dac3)!important;
  border:3px solid #3a2416!important;
  border-radius:3px!important;
  box-shadow:0 15px 36px rgba(20,11,6,.72),inset 0 0 0 2px rgba(247,230,193,.52)!important;
  z-index:1000!important;
}
.tool-roll.open .tool-roll-title{
  display:grid!important;
  grid-column:1/-1;
  margin:0 0 3px!important;
  padding:0 3px 12px!important;
  border-bottom:2px solid rgba(58,36,22,.55);
  color:#24170f!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:0 1px rgba(255,242,211,.7)!important;
}
.tool-roll.open .tool-roll-title strong{font:800 clamp(22px,3vw,34px)/1 Cinzel,Georgia,serif!important;letter-spacing:.035em}
.tool-roll.open .tool-roll-title small{margin-top:5px;color:#5c3924!important;font:700 12px/1.2 system-ui,sans-serif!important;letter-spacing:.08em;text-transform:uppercase}
.tool-roll.open a{
  min-height:84px!important;
  padding:9px!important;
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  color:#29180f!important;
  background:rgba(247,237,215,.48)!important;
  border:1px solid rgba(70,42,25,.52)!important;
  border-radius:2px!important;
  box-shadow:inset 0 1px rgba(255,248,227,.62),0 2px 3px rgba(43,25,13,.19)!important;
  text-align:left!important;
}
.tool-roll.open a img{width:58px!important;height:58px!important;margin:0!important;object-fit:contain!important;filter:drop-shadow(0 3px 2px rgba(47,25,12,.32))!important}
.tool-roll.open a span{
  position:static!important;
  display:grid!important;
  gap:3px!important;
  max-width:none!important;
  opacity:1!important;
  transform:none!important;
  color:#21140d!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:0 1px rgba(255,242,215,.8)!important;
}
.tool-roll.open a span strong{font:800 clamp(14px,1.55vw,18px)/1.08 Cinzel,Georgia,serif!important;letter-spacing:.012em}
.tool-roll.open a span small{color:#603a22!important;font:650 12px/1.2 system-ui,sans-serif!important;letter-spacing:0!important}
.tool-roll.open a:hover,.tool-roll.open a:focus-visible{background:rgba(255,247,224,.9)!important;outline:3px solid #8b522c!important;outline-offset:1px!important;transform:none!important}

/* Display lettering takes the same aged-iron direction as the forged Dawkins
   mark. It is deliberately dark and matte, with a light edge for legibility,
   while paragraphs remain plain black-on-paper reading text. */
body:not(.portal-page):not(.admin-page) .hero h1,
body:not(.portal-page):not(.admin-page) .section-copy h2,
body:not(.portal-page):not(.admin-page) .contact h2,
body:not(.portal-page):not(.admin-page) .path-card strong,
body:not(.portal-page):not(.admin-page) .craft-scope h3,
body:not(.portal-page):not(.admin-page) .contact-tool span{
  color:#1d1916!important;
  background-image:linear-gradient(160deg,#151311 0%,#5f594f 18%,#1a1815 39%,#797167 53%,#211d19 68%,#4f4942 83%,#151311 100%)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.25px rgba(28,20,14,.65)!important;
  filter:drop-shadow(0 1px 0 rgba(255,240,205,.84)) drop-shadow(1px 2px 1px rgba(55,32,18,.48))!important;
  text-shadow:none!important;
}
body:not(.portal-page):not(.admin-page) .kicker{
  color:#3a2418!important;
  background:none!important;
  -webkit-text-fill-color:#3a2418!important;
  text-shadow:0 1px rgba(255,241,210,.75)!important;
  font-weight:800!important;
}
@media(max-width:700px){
  .tool-roll.open{top:82px!important;width:calc(100vw - 16px)!important;padding:15px!important;grid-template-columns:1fr!important;gap:7px!important}
  .tool-roll.open .tool-roll-title{padding-bottom:9px!important}
  .tool-roll.open .tool-roll-title strong{font-size:24px!important}
  .tool-roll.open a{min-height:64px!important;grid-template-columns:50px minmax(0,1fr)!important;padding:7px!important}
  .tool-roll.open a img{width:46px!important;height:46px!important}
  .tool-roll.open a span strong{font-size:14px!important}
  .tool-roll.open a span small{font-size:11px!important}
}

/* The finished plan sheet has no menu cards: just drafted symbols and notes
   laid onto one continuous blueprint, like a carpenter's marked-up drawing. */
.tool-roll.open a{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.tool-roll.open a:not(:nth-last-child(-n+3)){border-bottom:1px dashed rgba(72,45,28,.34)!important}
.tool-roll.open a img{filter:grayscale(.18) sepia(.25) contrast(1.08) drop-shadow(0 2px 1px rgba(47,25,12,.28))!important}
.tool-roll.open a:hover,.tool-roll.open a:focus-visible{background:transparent!important;outline:0!important}
.tool-roll.open a:hover span strong,.tool-roll.open a:focus-visible span strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.tool-roll.open a span strong{font-family:'Comic Sans MS','Bradley Hand',cursive!important;font-size:clamp(16px,1.75vw,21px)!important;letter-spacing:.02em!important}
.tool-roll.open a span small{font-family:'Bradley Hand','Segoe Print',cursive!important;font-size:13px!important}
@media(max-width:700px){.tool-roll.open a:not(:last-child){border-bottom:1px dashed rgba(72,45,28,.36)!important}.tool-roll.open a span strong{font-size:17px!important}.tool-roll.open a span small{font-size:12px!important}}

/* One responsive construction, rather than competing large-screen versions. */
@media(min-width:851px){
  .site-header:has(.tool-roll.open){z-index:2600!important}
  .tool-roll.open{position:fixed!important;top:20px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;max-height:calc(100vh - 40px)!important;overflow:auto!important}
  .post-overlay{--post-detail:760px!important}
  .post-side{width:250px!important}
  .post-overlay .post-left{left:-10px!important}.post-overlay .post-right{right:-10px!important}
  .post-overlay .post-left .post-art,.post-overlay .post-left .post-crown{left:calc(var(--post-detail) * -.22)!important}
  .post-overlay .post-right .post-art,.post-overlay .post-right .post-crown{right:calc(var(--post-detail) * -.22)!important}
  .post-overlay .post-left .post-spine{left:30px!important}.post-overlay .post-right .post-spine{right:30px!important}
  .solid-rig-ready .hero-copy::before{display:block!important;z-index:10!important}
  #footer>.footer-sill{height:104px!important}
  #footer .footer-actions{height:108px!important}
  #footer .footer-actions .social-rack{bottom:7px!important}
  #footer .footer-actions .social-rack a img{width:58px!important;height:58px!important;transform:translateY(-18px)!important}
  #footer .footer-actions .builder-desk{bottom:7px!important}
}

/* Matte forged display type: dark, pitted iron tones with a subtle worn edge,
   never bright copper or polished chrome. Reading copy stays plain and crisp. */
body:not(.portal-page):not(.admin-page) .hero h1,
body:not(.portal-page):not(.admin-page) .section-copy h2,
body:not(.portal-page):not(.admin-page) .method h2,
body:not(.portal-page):not(.admin-page) .contact h2,
body:not(.portal-page):not(.admin-page) .path-card strong,
body:not(.portal-page):not(.admin-page) .craft-scope h3,
body:not(.portal-page):not(.admin-page) .contact-tool span{
  background-image:linear-gradient(155deg,#171412 0%,#413a33 20%,#211d1a 42%,#62584d 58%,#26201c 76%,#151210 100%)!important;
  -webkit-text-stroke:.35px rgba(17,12,9,.78)!important;
  filter:drop-shadow(0 1px 0 rgba(250,235,203,.82)) drop-shadow(1px 2px 1px rgba(45,27,16,.40))!important;
}
body:not(.portal-page):not(.admin-page) .hero p:not(.kicker),
body:not(.portal-page):not(.admin-page) .section-copy>p:not(.kicker),
body:not(.portal-page):not(.admin-page) .method>p,
body:not(.portal-page):not(.admin-page) .craft-scope p{color:#291c13!important;text-shadow:0 1px rgba(255,242,214,.9)!important;font-weight:600!important}

/* Final layer: the menu itself is never a separate opaque sheet. */
.site-header .tool-roll.open{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}

/* A transparent dialog still needs a quiet field of view. Darken the page
   behind it rather than rebuilding an opaque card around the form. */
body:not(.portal-page):not(.admin-page) dialog::backdrop{background:rgba(20,12,7,.88)!important}
body:not(.portal-page):not(.admin-page) dialog,
body:not(.portal-page):not(.admin-page) dialog p,
body:not(.portal-page):not(.admin-page) dialog label,
body:not(.portal-page):not(.admin-page) dialog summary{color:#fff1d3!important;-webkit-text-fill-color:#fff1d3!important;text-shadow:0 2px 4px rgba(0,0,0,.92)!important}
body:not(.portal-page):not(.admin-page) dialog h2,
body:not(.portal-page):not(.admin-page) dialog h3,
body:not(.portal-page):not(.admin-page) dialog strong{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#fff0d0!important;-webkit-text-fill-color:#fff0d0!important;filter:none!important;text-shadow:0 2px 4px rgba(0,0,0,.95)!important}
body:not(.portal-page):not(.admin-page) dialog input,
body:not(.portal-page):not(.admin-page) dialog textarea{color:#fff8e8!important;border-bottom-color:#e0a25b!important;background:rgba(13,8,5,.18)!important;text-shadow:0 1px 2px rgba(0,0,0,.9)!important}
body:not(.portal-page):not(.admin-page) dialog input::placeholder,
body:not(.portal-page):not(.admin-page) dialog textarea::placeholder{color:rgba(255,242,216,.72)!important}
body:not(.portal-page):not(.admin-page) dialog .close{color:#fff3da!important;text-shadow:0 2px 4px rgba(0,0,0,.95)!important}

/* Audit repair: the brand mark must begin inside the photograph, never above
   the viewport.  Keep the menu reachable near the masthead instead of leaving
   it adrift halfway down the hero. */
.site-header>.brand{
  top:0!important;
  left:50%!important;
  width:min(760px,68vw)!important;
  transform:translateX(-50%) scaleY(.84)!important;
  transform-origin:top center!important;
}
.menu-button{
  top:10px!important;
  right:10px!important;
}
@media(max-width:600px){
  .site-header>.brand{width:68vw!important;top:0!important}
  .menu-button{top:7px!important;right:5px!important}
}

/* Audit repair: the open plan sheet belongs below the forged nameplate, not
   on top of it. Its lettering stays high-contrast while the artwork remains
   completely transparent to the jobsite scene behind it. */
@media(min-width:851px){
  .tool-roll.open{top:220px!important}
}
.tool-roll.open .tool-roll-title,
.tool-roll.open a span strong{
  color:#21160e!important;
  background:none!important;
  -webkit-text-fill-color:#21160e!important;
  text-shadow:0 1px 0 #fff4db,0 0 7px rgba(255,244,219,.96),1px 2px 1px rgba(48,25,13,.34)!important;
}
.tool-roll.open a span small{
  color:#392014!important;
  text-shadow:0 1px 0 #fff4db,0 0 6px rgba(255,244,219,.94)!important;
}
