/* Shared production scaffolding. Approved desktop Home styling stays in studio.css. */
[hidden]{display:none!important}
:focus-visible{outline:2px solid #dec18e;outline-offset:5px}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.skip-link{position:fixed;top:8px;left:8px;z-index:150;transform:translateY(-180%);padding:12px 18px;background:#dfcba7;color:#06110e;border-radius:8px}
.skip-link:focus{transform:translateY(0)}
[id]{scroll-margin-top:155px}
.menu-toggle{display:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:#102019;color:var(--cream);cursor:pointer}
.newsBody h3 a{text-decoration:none}
.newsBody h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.heroMedia:focus-within .heroSlide:before{animation-play-state:paused}
.motion-paused .heroSlide:before,.motion-paused .latestPic:before,.motion-paused .servicesPic:before,.motion-paused .loungePic:before,.motion-paused .ticker{animation-play-state:paused}
.motion-switch{border:0;background:transparent;padding:4px 0;font:inherit;color:#b5a588;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.motion-switch:hover{color:var(--cream)}

/* Cards are ordinary accessible links; the whole card is also clickable. */
.tool-card,.final-card,.dev-feature,.work-card{position:relative}
.card-action::after{content:"";position:absolute;inset:0;z-index:5;border-radius:16px}
.card-action:focus-visible{outline:none}
.card-action:focus-visible::after{outline:2px solid #dec18e;outline-offset:4px}
.tool-card:has(.card-action:hover),.final-card:has(.card-action:hover),.dev-feature:has(.card-action:hover),.work-card:has(.card-action:hover){border-color:#b58a50}
.side-nav button{font-size:.875rem}
.tools-status-row span,.view-chip,.status,.v2-badge{font-size:.875rem}
.tools-hero p,.tool-copy p,.work-card p{font-size:1rem}
.tool-meta{flex-wrap:wrap}
.tools-layout,.tools-content,.dev-grid,.dev-side,.available-grid>*{min-width:0}
.empty-results{margin:0 auto 75px;padding:34px;border:1px solid var(--line);border-radius:16px;background:#0b1914}
.empty-results h2{font-size:2.3rem;margin:0 0 12px}
.empty-results p{color:#b3a287}
.dev-grid.only-feature,.dev-grid.only-side{grid-template-columns:1fr}
.dev-grid.only-feature .dev-feature{max-width:1050px}
.dev-grid.only-side .dev-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}
.available-grid.one-result{grid-template-columns:1fr}
.available-grid.one-result .tool-card{max-width:1050px}

/* Use the supplied covers in full, including their titles, without cropping. */
.slideshow-cinema{display:block;inset:12px}
.slideshow-main{height:100%;width:100%;background:#050d0b}
.slideshow-main img{object-fit:contain;filter:saturate(.94) contrast(1.02) brightness(.93)}
.slideshow-side,.slideshow-main:after,.preview-label{display:none}
.transition-preview{height:auto;aspect-ratio:1672/941}
.transition-preview .tr-a{width:100%;inset:0;clip-path:none}
.transition-preview .tr-a img{object-fit:contain;filter:saturate(.94) contrast(1.02) brightness(.93)}
.transition-preview .tr-b,.transition-preview .cut-line,.transition-preview .tr-label{display:none}

/* Detail pages inherit the same forest/cream/aged-gold visual language. */
.detail-shell,.route-shell{width:var(--shell);margin:auto}
.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:40px 0 30px;font-size:.875rem;color:#b5a385}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{color:var(--cream);text-decoration:underline}
.product-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,80px);align-items:center;padding:12px 0 55px}
.product-copy{min-width:0}
.product-copy h1{font-size:clamp(2.7rem,4.6vw,5.5rem);line-height:1.02;margin:18px 0 24px;max-width:14ch;overflow-wrap:normal}
.product-copy>p{font-size:1.0625rem;line-height:1.75;color:#b4a387;max-width:50ch;margin:0 0 26px}
.product-status{display:inline-flex;align-items:center;min-height:32px;border:1px solid rgba(183,137,75,.4);border-radius:999px;padding:6px 12px;font-size:.875rem;color:#d7bd8f;background:rgba(183,121,55,.08)}
.product-status.available{border-color:#657b53;color:#c8d2ae;background:rgba(103,132,78,.09)}
.product-status.development{border-color:#847044;color:#d7bd8f}
.product-cover{margin:0;padding:12px;border:1px solid var(--line);border-radius:18px;background:#081510;box-shadow:0 22px 55px rgba(0,0,0,.25)}
.product-cover img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:11px}
.product-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.quiet-link{font-size:.9375rem;color:#c8b28b;text-underline-offset:5px}
.product-facts{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}
.product-facts div{padding:14px 16px;border:1px solid var(--soft);border-radius:11px;min-width:145px}
.product-facts dt{font-size:.875rem;color:#aa997c;margin-bottom:7px}
.product-facts dd{margin:0;font:1.4rem Georgia,serif;color:var(--cream)}
.product-section-links{display:flex;flex-wrap:wrap;gap:10px 28px;padding:23px 0;border-top:1px solid var(--soft);border-bottom:1px solid var(--soft)}
.product-section-links a{color:#ccb58e;font-size:.9375rem;text-decoration:none;padding:5px 0}
.product-section-links a:hover{text-decoration:underline;text-underline-offset:7px}
.product-section{padding:58px 0;border-bottom:1px solid var(--soft)}
.product-section h2{font-size:clamp(2rem,3vw,3.2rem);margin:10px 0 25px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.feature{padding:27px;border:1px solid var(--line);border-radius:14px;background:#0a1813}
.feature h3{font-size:1.7rem;margin:0 0 14px}
.feature p,.roadmap-copy p,.route-card p{color:#b2a184;line-height:1.75;font-size:1rem;margin:0}
.interface-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1448px;margin:auto;align-items:start}
.interface-gallery figure{margin:0;min-width:0}
.interface-gallery .gallery-wide{grid-column:1/-1}
.interface-link{display:block;position:relative;border:1px solid var(--line);padding:10px;border-radius:16px;background:#040b09;overflow:hidden}
.interface-link:hover,.interface-link:focus-visible{border-color:#bc945e}
.interface-link:focus-visible{outline:2px solid rgba(188,148,94,.55);outline-offset:3px}
.interface-link img{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px;background:#050d0b}
.interface-gallery .gallery-half .interface-link img{aspect-ratio:auto;object-fit:contain}
.interface-gallery figcaption{padding:12px 4px 0;color:#bca781;font-size:.875rem;line-height:1.5}
.gallery-zoom{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(222,201,164,.34);border-radius:999px;background:rgba(4,11,9,.82);color:#ead3aa;font-size:.95rem;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.image-lightbox{width:min(94vw,1500px);max-width:none;max-height:92vh;margin:auto;padding:52px 18px 18px;border:1px solid rgba(202,165,103,.36);border-radius:18px;background:#040b09;color:var(--cream);box-shadow:0 28px 90px rgba(0,0,0,.72)}
.image-lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(3px)}
.image-lightbox figure{margin:0;display:grid;gap:12px;justify-items:center}
.image-lightbox img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:10px}
.image-lightbox figcaption{max-width:80ch;color:#c6b18d;font-size:.9rem;line-height:1.5;text-align:center}
.lightbox-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:1px solid rgba(222,201,164,.28);border-radius:999px;background:#0a1813;color:#ead3aa;font:400 1.35rem/1 Arial,sans-serif;cursor:pointer}
.lightbox-close:hover,.lightbox-close:focus-visible{border-color:#bc945e;outline:none}
.roadmap-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}
.roadmap-copy h3{font-size:1.7rem;margin:25px 0 12px}
.roadmap-copy ul{padding-left:20px;line-height:1.8;color:#b5a185}
.commerce-card{padding:30px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#102019,#091612)}
.commerce-card h3{font-size:2rem;margin:12px 0 18px}
.commerce-fields{margin:22px 0}
.commerce-fields div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--soft)}
.commerce-fields dt{color:#bca888;font-size:.9375rem}
.commerce-fields dd{margin:0;text-align:right;font-size:.9375rem}
.commerce-card p{font-size:1rem;line-height:1.7;color:#b5a185}
.commerce-card button:disabled{cursor:not-allowed;opacity:.68;width:100%;margin:10px 0}
.product-back{padding:32px 0 55px}
.route-hero{padding:80px 0 40px;max-width:950px}
.route-hero h1{font-size:clamp(3rem,5.8vw,6rem);line-height:1.03;margin:16px 0 25px}
.route-hero>p{font-size:1.0625rem;line-height:1.8;color:#b5a185;max-width:65ch}
.route-note{max-width:900px;border-left:2px solid #93662f;padding:10px 22px;margin:0 0 40px;color:#bca888;line-height:1.8;font-size:1rem}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:40px}
.route-card{padding:32px;border:1px solid var(--line);background:linear-gradient(145deg,#102019,#091612);border-radius:16px}
.route-card h2{font-size:2rem;line-height:1.18;margin:10px 0 15px}
.route-card .quiet-link{display:inline-block;margin-top:20px}
.route-bottom{padding:15px 0 70px;display:flex;flex-wrap:wrap;gap:14px}

/* Leave the large desktop clock and header untouched. Add usable smaller layouts. */
@media(max-width:1360px){
  header .head{grid-template-columns:1fr 250px;min-height:88px}
  header .header-right{min-height:88px;gap:10px}
  .menu-toggle{display:block}
  header nav{display:none;position:absolute;top:calc(100% + 8px);left:3vw;right:3vw;min-width:0;padding:12px;border-radius:16px;background:#0a1913;border-color:var(--line);box-shadow:0 22px 55px #0009;max-height:70vh;overflow:auto}
  header.menu-open nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  header nav a{font-size:1rem;padding:14px;border-radius:10px}
}
@media(max-width:1100px){
  header .clock{--s:84px}
  .product-hero{grid-template-columns:1fr 1fr;gap:26px}
  .tools-sidebar{position:static}
  .side-box{display:block}
  .side-title{display:none}
  .side-nav{flex-direction:row;flex-wrap:wrap;gap:4px}
  .side-nav button{min-height:44px;padding:10px 15px}
  .tools-layout{gap:22px}
  .available-grid{grid-template-columns:1fr 1fr}
  .final-card{grid-template-columns:1fr}
  .slideshow-stage{min-height:0;aspect-ratio:1672/941}
  .feature-grid{grid-template-columns:1fr}
}
@media(max-width:1000px){
  header .head{grid-template-columns:1fr 240px;min-height:80px}
  header .header-right{min-height:80px}
  header .clock{--s:76px}
  .product-hero{grid-template-columns:1fr}
  .product-copy h1{max-width:18ch}
  .product-copy>p{max-width:64ch}
  .roadmap-grid{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .interface-gallery{grid-template-columns:1fr;gap:18px}
  .interface-gallery .gallery-wide{grid-column:auto}
  .interface-gallery .gallery-half .interface-link img{aspect-ratio:auto}
  .gallery-zoom{right:16px;bottom:16px}
  .image-lightbox{width:96vw;padding:48px 10px 12px}
  .available-grid{grid-template-columns:1fr}
  .dev-grid.only-side .dev-side{grid-template-columns:1fr}
  .tool-visual{min-height:0;aspect-ratio:1672/941}
  .final-copy,.tool-copy,.dev-feature-copy{padding:27px}
  .final-copy h3{font-size:2.25rem}
  .tools-hero h1{font-size:clamp(2.9rem,9vw,3.7rem);line-height:1.02}
  .tools-hero-inner{padding:48px 0 40px;min-height:0}
  .route-grid{grid-template-columns:1fr}
  .product-section{padding:38px 0}
  .product-section-links{gap:8px 20px}
  .route-hero{padding-top:45px}
}
@media(max-width:720px){
  header .head{grid-template-columns:minmax(0,1fr) 144px;min-height:70px;gap:6px}
  header .header-right{min-height:70px;padding-right:74px}
  header .clock{--s:62px}
  header .clockbox{padding-left:0}
  header.menu-open nav{grid-template-columns:1fr 1fr}
  .menu-toggle{font-size:.875rem;padding:10px 12px}
  .hero h1{font-size:clamp(3rem,12vw,3.5rem)}
  .heroMedia{min-height:330px}
  .breadcrumbs{margin-top:28px;gap:8px}
  .product-copy h1{font-size:clamp(2.6rem,10vw,4rem)}
  .product-cover{padding:8px}
  .commerce-card,.route-card{padding:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .heroSlide{transition:none!important}
}

/* Step 7.5 Services clarity */
.service-process{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;align-items:start;margin:0 0 28px;padding:26px 28px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}
.service-process h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:8px 0 0;line-height:1.12}.service-process ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-process li{min-width:0;padding:14px 15px;border:1px solid rgba(183,137,75,.2);border-radius:11px;background:rgba(183,121,55,.045)}.service-process strong{display:block;color:#c98a47;font-size:.68rem;letter-spacing:.12em;margin-bottom:7px}.service-process span{color:#cfbd9b;line-height:1.45}
.services-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-route-card{display:flex;flex-direction:column;min-width:0}.service-route-card>p{margin-bottom:22px}.service-facts{display:grid;gap:14px;margin:4px 0 22px}.service-facts>div{padding-top:13px;border-top:1px solid rgba(222,201,164,.1)}.service-facts h3{font:600 .73rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#c28c4b;margin:0 0 7px}.service-facts p{color:#aa9b82;font-size:.9rem;line-height:1.62;margin:0}.service-route-card .quiet-link{margin-top:auto}
@media(max-width:1180px){.services-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-process{grid-template-columns:1fr}.service-process ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.services-route-grid{grid-template-columns:1fr}.service-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.service-process{padding:22px 20px}.service-process ol{grid-template-columns:1fr}}

/* Step 10 service-request intake. Keeps the existing Services/route visual language. */
.service-request-panel{margin:0 0 28px;padding:28px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}
.service-request-panel h2{font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.03;margin:8px 0 12px}.service-request-panel>p{max-width:70ch;color:#aa9b82;line-height:1.6}
.service-request-panel form{display:grid;gap:18px;margin-top:24px}.service-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service-request-panel label{display:grid;gap:8px;color:#c9b999;font:600 .76rem/1.35 Arial,Helvetica,sans-serif;letter-spacing:.035em}.service-request-panel input,.service-request-panel select,.service-request-panel textarea{width:100%;box-sizing:border-box;border:1px solid rgba(202,165,103,.28);border-radius:9px;background:#07130f;color:#d9c8a8;padding:12px 13px;font:400 .93rem/1.45 Arial,Helvetica,sans-serif}.service-request-panel textarea{resize:vertical;min-height:150px}.service-request-panel input:focus,.service-request-panel select:focus,.service-request-panel textarea:focus{outline:2px solid rgba(194,140,75,.52);outline-offset:2px}.service-file-hint{color:#958970;font-weight:400;letter-spacing:0;line-height:1.55}.service-consent{grid-template-columns:auto 1fr!important;align-items:start}.service-consent input{width:auto;margin-top:2px}.service-request-status{min-height:1.4em;margin:0;color:#cdbb99}.service-request-status.error{color:#e4a893}.service-request-panel [data-service-request-receipt]{margin:0}
@media(max-width:760px){.service-form-grid{grid-template-columns:1fr}.service-request-panel{padding:22px 20px}}
