/* Cook Builders / Architectural motion system. Shared brand tokens live in site.css. */
html.cm-site{scroll-behavior:auto}
.cm-upgraded section[id]{scroll-margin-top:100px}
.cm-upgraded{--cm-navy:#14202E;--cm-orange:#F3671B;--cm-paper:#F6F8F7;--cm-steel:#3E5871}
.cm-upgraded button,.cm-upgraded input{font:inherit}
.cm-upgraded button{cursor:pointer}
.cm-upgraded .pnav-brand img{opacity:1;transform:none;animation:none}
.cm-upgraded .reveal{opacity:1;transform:none;transition:none}
.cm-upgraded .gantt .phase-ic{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
.cm-upgraded .gantt .phase h3{color:var(--ink);transition:none}
.cm-upgraded button:focus-visible,.cm-upgraded input:focus-visible,.cm-upgraded select:focus-visible{outline:3px solid var(--safety);outline-offset:4px}
.cm-upgraded :is(button,a,input,select){-webkit-tap-highlight-color:rgba(243,103,27,.15)}
.cm-upgraded .hero-bg img{animation:none!important;opacity:1!important}
.cm-upgraded .hero h1{max-width:13ch;font-size:clamp(54px,7.8vw,108px)}
.cm-upgraded .hero h1>span{display:block}
.cm-upgraded .hero .cm-hero-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.27}
.cm-hero-lines path{stroke-dasharray:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){.cm-hero-lines path{animation:cm-trace 1.6s ease-out both}.cm-hero-lines path:nth-child(2n){animation-delay:.15s}}
@keyframes cm-trace{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.cm-hero-project{position:absolute;right:30px;bottom:30px;z-index:2;color:var(--paper);font:11px var(--mono);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border-left:2px solid var(--safety);padding:6px 12px;background:rgba(20,32,46,.76)}
.cm-hero-project span{display:block;color:#BFCDDA;margin-top:3px}
.cm-upgraded .marquee{overflow-x:auto;scrollbar-width:thin;padding:8px 24px}
.cm-upgraded .marquee .track{animation:none;gap:52px;padding-right:0}
.cm-upgraded .marquee img[aria-hidden=true]{display:none}
.cm-upgraded .gantt .track{display:none}
.cm-upgraded .gantt .bar i{transform:none!important;animation:none!important}
.cm-build{margin:0 0 40px;border:1px solid #91A0A8;background:#E9EEEB;overflow:hidden;scroll-margin-top:110px}
.cm-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:var(--paper);padding:15px 22px}
.cm-sheet-head img{width:95px;height:auto;display:block}
.cm-sheet-head span{font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:right;color:#C3D0DA}
.cm-build-viewport{position:relative;min-height:380px;background:radial-gradient(ellipse at 50% 40%,#F6F8F7,#E2E8E5)}
.cm-build canvas{display:none;width:100%;height:400px}
.cm-build[data-ready=true] canvas{display:block}
.cm-build[data-ready=true] .cm-build-fallback{display:none}
.cm-build-fallback{display:block;margin:auto;width:min(100%,680px);height:400px;object-fit:contain}
.cm-sheet-note{position:absolute;bottom:16px;left:22px;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);pointer-events:none}
.cm-build-controls{padding:20px 22px;background:var(--paper);border-top:1px solid #BBC6C6}
.cm-build-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cm-stage-group{display:flex;flex-wrap:wrap;gap:6px}
.cm-stage,.cm-play,.cm-filter{appearance:none;min-height:44px;padding:10px 17px;border:1px solid #ADBABF;background:transparent;color:var(--ink);font:12px var(--mono)!important;text-transform:uppercase;letter-spacing:.06em}
.cm-stage span{color:var(--steel);margin-right:8px}
.cm-stage[aria-pressed=true],.cm-filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.cm-stage[aria-pressed=true] span{color:var(--safety)}
.cm-play{background:var(--safety);border-color:var(--safety);font-weight:500!important}
.cm-stage:hover,.cm-filter:hover{border-color:var(--safety)}
.cm-build-description{font:12px/1.7 var(--mono);color:var(--steel);margin:15px 0 0;min-height:22px}
.cm-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.cm-section-intro h2{max-width:14ch;margin-top:12px}
.cm-section-intro>p{max-width:440px;color:var(--steel)}
.cm-drawing-section{background:var(--ink);color:var(--paper);position:relative}
.cm-drawing-section .eyebrow{color:#A9BDC9}
.cm-drawing-section .cm-section-intro>p{color:#C0CDD7}
.cm-reveal{position:relative;aspect-ratio:16/9;background:#14202E;isolation:isolate;overflow:hidden;border:1px solid #698294}
.cm-reveal-drawing img{object-fit:cover}
.cm-reveal>img,.cm-reveal-drawing{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm-reveal-drawing{background:#14202E;clip-path:inset(0 calc(100% - var(--reveal,43%)) 0 0)}
.cm-reveal-drawing svg{display:block;width:100%;height:100%}
.cm-reveal-divider{position:absolute;top:0;bottom:0;left:var(--reveal,43%);width:2px;background:var(--safety);pointer-events:none;transform:translateX(-1px)}
.cm-reveal-divider::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--safety);color:var(--ink);font:25px/46px var(--mono);text-align:center;box-shadow:0 0 0 6px rgba(20,32,46,.2)}
.cm-reveal-label{position:absolute;top:18px;z-index:2;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;background:var(--ink);color:var(--paper);pointer-events:none}
.cm-reveal-label.cm-left{left:16px;border-left:2px solid var(--safety)}
.cm-reveal-label.cm-right{right:16px}
.cm-reveal input{position:absolute;inset:0;z-index:3;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y;margin:0}
.cm-reveal:focus-within{outline:3px solid var(--safety);outline-offset:4px}
.cm-reveal-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 0 0;font:12px/1.6 var(--mono);color:#BDCCD6}
.cm-reveal-footer a{color:var(--paper);text-underline-offset:5px}
.cm-reveal-footer output{color:var(--paper)}
.cm-upgraded #sectors .grid-6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0;overflow:visible;padding:0}
.cm-upgraded #sectors .cell{min-width:0;border:1px solid var(--line);background:#fff;text-align:left;position:relative;transition:border-color .2s ease}
.cm-upgraded #sectors .cell:hover,.cm-upgraded #sectors .cell:focus-within{border-color:var(--safety)}
.cm-sector-art{display:block;aspect-ratio:8/5;overflow:hidden;background:linear-gradient(150deg,#F6F8F7,#E9EEEC);border-bottom:1px solid var(--line)}
.cm-sector-art svg{display:block;width:100%;height:100%;overflow:visible}
.cm-sector-art .cm-art-skin,.cm-sector-art .cm-art-detail{transform-box:fill-box;transform-origin:center;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.cell:is(:hover,:focus-within) .cm-art-skin{transform:translateY(-5px)}
.cell:is(:hover,:focus-within) .cm-art-detail{transform:translateY(-9px)}
.cm-upgraded #sectors .cell h3{padding-top:23px;font-size:29px}
.cm-upgraded #sectors .cell h3 a{font:inherit;letter-spacing:inherit;color:var(--ink)}
.cm-upgraded #sectors .cell p{padding-top:4px;padding-bottom:20px;color:var(--steel)}
.cm-upgraded #sectors .cell>a:last-child{align-self:flex-start;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--safety)}
.cm-upgraded .card .photo img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.cm-upgraded .card:is(:hover,:focus-within) .photo img{transform:scale(1.035)}
.cm-card-link{display:inline-flex;gap:12px;align-items:center;font:12px var(--mono);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--safety);padding:6px 0;margin-top:18px}
.cm-project-detail{background:#E8EDEB}
.cm-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:0;border:1px solid var(--line);background:var(--paper)}
.cm-hotspot-scene{position:relative;min-width:0;aspect-ratio:3/2;background:var(--concrete)}
.cm-hotspot-scene>img{width:100%;height:100%;display:block;object-fit:cover}
.cm-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);height:48px;width:48px;border:0;border-radius:50%;background:rgba(20,32,46,.25);color:var(--ink);display:grid;place-items:center;font:13px var(--mono)!important}
.cm-hotspot::before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--safety);box-shadow:0 0 0 2px var(--paper)}
.cm-hotspot span{position:relative;z-index:1}
.cm-hotspot[aria-pressed=true]::before{background:var(--paper);box-shadow:0 0 0 3px var(--safety)}
.cm-hotspot-copy{padding:30px 28px;display:flex;flex-direction:column;align-items:flex-start}
.cm-hotspot-copy .eyebrow{margin-bottom:16px}
.cm-hotspot-copy h3{font-size:34px;margin-bottom:15px}
.cm-hotspot-copy p{color:var(--steel);font-size:16px}
.cm-hotspot-copy a{margin-top:auto;padding-top:24px;font:12px var(--mono);text-transform:uppercase;text-underline-offset:5px}
.cm-detail-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0;grid-column:1/-1;padding:8px 20px 16px}
.cm-detail-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--steel);padding:10px 8px;font:12px var(--mono)!important}
.cm-detail-tabs button[aria-pressed=true]{border-color:var(--safety);color:var(--ink)}
.cm-map{margin-top:26px;background:var(--ink);color:var(--paper);border:1px solid #3E5871}
.cm-map-head{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #3E5871;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.cm-map-head b{color:var(--safety);font-weight:500}
.cm-map-visual{position:relative;aspect-ratio:975/610;overflow:hidden}
.cm-map-visual img,.cm-map-visual object,.cm-map-visual svg{display:block;width:100%;height:100%;border:0}
.cm-map-marker{position:absolute;left:var(--x);top:var(--y);width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;border-radius:50%}
.cm-map-marker::before{content:'';position:absolute;inset:15px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--safety)}
.cm-map-marker[aria-pressed=true]::before{background:var(--safety);box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--safety)}
.cm-map-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 20px 16px}
.cm-map-select label{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#BFCDDA}
.cm-map-select select{background:#1D3042;color:var(--paper);border:1px solid #71899B;padding:10px 12px;font:13px var(--sans);min-height:44px;max-width:100%;flex:1;min-width:145px}
.cm-map-result{border-top:1px solid #3E5871;padding:20px;min-height:148px}
.cm-map-result h3{font-size:28px;margin:5px 0 9px;color:var(--paper)}
.cm-map-result p{color:#C1CFD9!important;font-size:14px;margin:0!important}
.cm-map-result a{display:inline-block;color:var(--paper);font:11px var(--mono);text-transform:uppercase;margin-top:14px;text-underline-offset:5px}
.cm-map-result .eyebrow{color:#BFCDDA!important;font-size:10px}
.cm-map-legend{display:flex;gap:20px;flex-wrap:wrap;color:#BFCDDA;font:10px var(--mono);text-transform:uppercase;padding:0 20px 18px}
.cm-map-legend i{display:inline-block;width:9px;height:9px;background:var(--safety);margin-right:7px}
.cm-cta-band{margin-top:32px;padding:24px 28px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cm-cta-band p{margin:0!important;color:#C4D1DA!important;font-size:15px}
.cm-cta-band b{display:block;font:26px var(--disp);text-transform:uppercase;color:var(--paper)}
.cm-cta-band .btn{background:var(--safety);border-color:var(--safety);color:var(--ink);flex-shrink:0}
.cm-intent{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px}
.cm-intent a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:14px 16px;border:1px solid var(--line);text-decoration:none;font:17px var(--disp);text-transform:uppercase;letter-spacing:.02em;background:#fff}
.cm-intent a:hover{border-color:var(--safety)}
.cm-intent a span{color:var(--safety)}
.cm-upgraded .contact .lane--one{max-width:880px}
.cm-upgraded .contact .row3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cm-upgraded .contact .cm-message{margin-top:16px}
.cm-upgraded .contact .cm-message textarea{width:100%;min-height:92px}
.cm-upgraded .contact .cm-message label{display:block;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;color:var(--steel)}
.cm-project-art{max-width:480px;margin:30px 0 0}
.cm-project-art svg{width:100%;height:auto;display:block}
.cm-expertise-intro{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:42px;align-items:center}
.cm-expertise-intro .cm-project-art{margin:0}
@media(max-width:700px){.cm-expertise-intro{grid-template-columns:1fr;gap:10px}.cm-expertise-intro .cm-project-art{max-width:420px}}
.cm-upgraded .cm-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.cm-filter small{font-size:inherit;margin-left:8px;opacity:.65}
.cm-photo-open{overflow:hidden}
.cm-photo-trigger{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit}
.cm-photo-trigger img{display:block}
dialog.cm-lightbox{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;border:1px solid #71899B;padding:16px;background:var(--ink);color:var(--paper)}
dialog.cm-lightbox::backdrop{background:rgba(7,15,23,.9)}
.cm-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font:12px var(--mono)}
.cm-lightbox button{min-height:44px;padding:8px 14px;border:1px solid #71899B;background:transparent;color:var(--paper);font:12px var(--mono)}
.cm-lightbox img{width:100%;height:auto;max-height:70dvh;object-fit:contain;display:block}
.cm-lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px}
.cm-lightbox-footer p{font:12px var(--mono);max-width:65ch}
.cm-lightbox-footer>div{display:flex;gap:8px}
@media(max-width:1000px){.cm-upgraded #sectors .grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-detail-layout{grid-template-columns:1.35fr 1fr}.cm-hotspot-copy{padding:24px}.cm-hero-project{display:none}}
@media(max-width:700px){.cm-section-intro{display:block}.cm-section-intro>p{margin-top:20px}.cm-build canvas,.cm-build-fallback{height:310px}.cm-build-viewport{min-height:310px}.cm-sheet-head{padding:12px 16px}.cm-sheet-head span{font-size:9px}.cm-build-controls{padding:16px}.cm-stage{padding:9px 12px;font-size:10px!important}.cm-stage span{margin-right:5px}.cm-sheet-note{left:16px;font-size:9px}.cm-detail-layout{grid-template-columns:1fr}.cm-hotspot-copy{min-height:250px}.cm-upgraded .contact .row3{grid-template-columns:1fr}.cm-intent{grid-template-columns:1fr}.cm-cta-band{flex-direction:column;align-items:flex-start}.cm-reveal-label{font-size:8px;top:12px;padding:5px 7px}.cm-reveal-label.cm-left{left:10px}.cm-reveal-label.cm-right{right:10px}.cm-reveal-divider::after{width:36px;height:36px;line-height:36px;font-size:20px}.cm-upgraded .hero h1{font-size:clamp(52px,10.2vw,72px);max-width:13ch}.cm-map-result{min-height:170px}}
@media(max-width:480px){.cm-upgraded #sectors .grid-6{grid-template-columns:1fr}.cm-build canvas,.cm-build-fallback{height:265px}.cm-build-viewport{min-height:265px}.cm-build-toolbar{align-items:stretch}.cm-stage-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1}.cm-stage{text-align:left}.cm-play{width:100%}.cm-sheet-head img{width:78px}.cm-sheet-head span{max-width:150px}.cm-reveal-footer{font-size:11px}.cm-map-marker{width:40px;height:40px}.cm-map-marker::before{inset:14px}}
@media(prefers-reduced-motion:reduce){.cm-upgraded *,.cm-upgraded *::before,.cm-upgraded *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cm-upgraded .cell:is(:hover,:focus-within) :is(.cm-art-skin,.cm-art-detail){transform:none}.cm-upgraded .card:is(:hover,:focus-within) .photo img{transform:none}}
