:root{--ink:#172d43;--muted:#4a6074;--blue:#365d7e;--pale:#e9f0f5;--border:#cedbe4;--paper:#f8fafb;font:16px/1.6 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}img{display:block;width:100%;object-fit:cover}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}figure,p{margin:0}h1,h2,h3{line-height:1.08;margin:0;letter-spacing:-.035em}h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400}h1{font-size:clamp(3.3rem,6.4vw,6.05rem);max-width:11ch}h2{font-size:clamp(2.55rem,5vw,4.55rem)}h3{font-size:1.45rem}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #527ca4;outline-offset:4px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:0;left:1rem;translate:0 -120%;background:white;padding:.5rem;z-index:5}.skip:focus{translate:0}
.mast,.foot{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:1.4rem;font-weight:750;letter-spacing:-.055em;line-height:1}.brand small{display:block;font-size:.55rem;letter-spacing:.29em;margin-top:5px}.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:6px;flex:none}.mast nav{display:flex;align-items:center;gap:clamp(16px,2.6vw,34px);font-size:.94rem;font-weight:600}.mast nav a{text-decoration:none}.mast nav a:hover,.text-link:hover{text-decoration:underline}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:.65em;border-radius:5px;padding:.63rem 1rem;text-decoration:none;font-weight:650;min-height:44px;border:1px solid transparent;line-height:1.4}.button{color:white;background:var(--blue)}.button:hover{background:#274861}.secondary{background:white;color:var(--ink);border-color:var(--border)}.secondary:hover,.secondary[aria-pressed=true]{background:#dbe8f2;border-color:#7290aa}.text-link{font-weight:650;color:#284f70;text-underline-offset:4px}.eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px;color:#385e7f}
.hero{display:grid;grid-template-columns:1fr .84fr;background:#e8eff5;border-radius:12px;overflow:hidden;min-height:535px}.hero-copy{padding:clamp(32px,5.5vw,76px);align-self:center}.hero-copy>p:not(.eyebrow){max-width:43ch;margin-top:23px;font-size:1.1rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 19px;margin-top:24px}.hero figure{position:relative;min-width:0}.hero img{position:absolute;height:100%;object-position:center 51%}.hero figcaption{position:absolute;bottom:14px;right:14px;background:#f8fafb;color:var(--ink);padding:3px 9px;border-radius:4px;font-size:.75rem}.fact-strip{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 32px;padding-block:21px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.94rem}
.section{padding-block:clamp(48px,7vw,96px)}.intro{max-width:56ch;margin-block:14px 22px}.choices{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 17px}.panel{border:1px solid var(--border);background:white;border-radius:10px;overflow:hidden}.product{display:grid;grid-template-columns:1fr 1fr}.product img{height:310px;object-position:50% 46%}.panel-copy{padding:clamp(22px,5vw,55px);align-content:center}.panel-copy p,.about p{margin:14px 0 19px}.band,footer{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,90px);align-items:start}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.studio-preview{background:#d5e3ed;border:1px solid var(--border);overflow:hidden;border-radius:10px}.studio-preview figcaption{padding:10px 16px;background:#f6f9fb;text-align:center;color:var(--muted);font-size:.88rem}.drawing{padding:clamp(38px,6vw,75px) 13%;background:linear-gradient(145deg,#e4edf4,#cbdbe8);--frame:#f9fbff}.frame{height:clamp(145px,21vw,265px);display:flex;border:9px solid var(--frame);outline:1px solid #778da2;box-shadow:0 8px 28px #344f6640;background:linear-gradient(160deg,#c9deea 0 54%,#a5bbc6 55% 65%,#8eaeb7 65%)}.pane{flex:1;position:relative;border:5px solid var(--frame);box-shadow:inset 0 0 0 1px #6b8195;background:linear-gradient(125deg,transparent 28%,#ffffff55 29% 42%,transparent 43%)}.pane i{position:absolute;right:9%;top:52%;width:5px;height:21px;background:#4b6073;border-radius:2px}.pane:nth-child(2) i{left:9%}.drawing[data-style=casement] .pane:first-child{background:linear-gradient(30deg,transparent 49%,#5d7d944d 50%,transparent 51%),linear-gradient(150deg,transparent 49%,#5d7d944d 50%,transparent 51%)}.drawing[data-style=casement] .pane:nth-child(2) i,.drawing[data-style=fixed] .pane:nth-child(2),.drawing[data-style=fixed] i{display:none}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile{overflow:hidden;border:1px solid var(--border);border-radius:9px;background:white;color:var(--ink);padding:0;text-align:left}.tile:hover{border-color:var(--blue)}.tile img{aspect-ratio:1.22;object-position:50% 44%}.tile span{display:flex;justify-content:space-between;gap:10px;padding:12px 15px;font-weight:650}.about h3{margin-bottom:12px}details{border-bottom:1px solid #abbfce;padding:13px 0}summary{cursor:pointer;font-weight:650}details p{margin:9px 0 0!important}
.form{padding:clamp(18px,3.5vw,36px);display:grid;gap:13px}.form>.button{justify-self:start}label{display:block;font-weight:650}label small{color:var(--muted);font-weight:400}input,select,textarea{display:block;width:100%;margin-top:4px;padding:.56rem .7rem;border:1px solid #9caebd;border-radius:4px;background:white;color:var(--ink)}textarea{resize:vertical}#design-selection{background:var(--pale);padding:8px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}#copy-status{margin-top:6px}dialog{width:min(680px,calc(100% - 28px));max-height:94dvh;border:1px solid var(--border);border-radius:9px;padding:15px;color:var(--ink);background:white}dialog::backdrop{background:#142738d9}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.viewer-bar h2{font:650 1.15rem/1.3 system-ui;letter-spacing:0}dialog img{max-height:69dvh;object-fit:contain;background:#edf2f6}dialog p{margin-top:6px}.foot{flex-wrap:wrap;padding-block:15px}
@media(max-width:820px){.wrap{width:calc(100% - 36px)}.mast{min-height:70px;flex-wrap:wrap;padding-block:10px}.mast nav{width:100%;flex-wrap:wrap;padding-bottom:6px}.mast nav[data-collapsed=true]{display:none}.hero{min-height:460px}.hero-copy{padding:28px}}
@media(max-width:620px){.hero,.product,.split{grid-template-columns:1fr}.hero figure{height:320px}.product img{height:245px}.gallery{grid-template-columns:1fr}.tile img{aspect-ratio:1.55}.fact-strip{justify-content:start}.about{gap:32px}.foot{gap:14px}.controls{gap:8px}}

/* Architectural portfolio */
:root{--ink:#182a3a;--muted:#465b6a;--blue:#2e546f;--paper:#fafaf7;--pale:#edf1f2;--border:#d2dce0}
.hero{position:relative;isolation:isolate;grid-template-columns:1fr;min-height:clamp(530px,68vh,760px);border-radius:0;max-width:none;color:#fff;background:#203848}
.hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 64px));margin-inline:auto;padding:70px 0}
.hero h1{max-width:13ch;font-size:clamp(3.55rem,7vw,7.15rem)}
.hero-copy>p,.hero-copy .eyebrow,.hero .text-link{color:#f3f6f8}
.hero .button{background:#f5f6f4;color:#183348}
.hero .button:hover{background:#dce8ef}
.hero figure{position:absolute;inset:0;z-index:-1}
.hero figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e2334f5 0%,#0e2334bd 42%,#0e23341c 100%)}
.hero img{object-position:center 52%}
.hero figcaption{z-index:1}
.section h2{max-width:19ch}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}
.service-card{min-width:0;background:#fff;border:1px solid var(--border);display:flex;flex-direction:column}
.service-card img{aspect-ratio:3/2;height:auto;background:var(--pale);object-position:center 54%}
.service-card>div{display:flex;flex:1;flex-direction:column;padding:22px}
.service-card h3{font-family:"Instrument Serif",Georgia,serif;font-size:1.8rem;font-weight:400}
.service-card p{margin:10px 0 16px}
.service-card .text-link{margin-top:auto;align-self:flex-start}
.kitchen-grid img{aspect-ratio:4/5}
.image-note{margin-top:14px;font-size:.84rem}
#kitchen-selection{background:var(--pale);padding:8px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}
@media(max-width:820px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{width:calc(100% - 36px)}}
@media(max-width:620px){.hero figure{height:auto}.hero figure::after{background:linear-gradient(90deg,#0e2334ee,#0e233480)}.service-grid{grid-template-columns:1fr}.kitchen-grid img{aspect-ratio:1.25}}
/* Multi-page navigation and service pages */
.mast nav{gap:clamp(9px,1.28vw,22px);font-size:.85rem}
.mast nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.page-intro{background:var(--pale);padding:clamp(42px,7vw,92px) 0}
.page-intro h1{max-width:24ch;font-size:clamp(3rem,6vw,5.7rem)}
.page-intro p:last-child{max-width:64ch;margin-top:15px}
.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:27px}
.overview-card{display:block;background:white;text-decoration:none;border:1px solid var(--border)}
.overview-card:hover{border-color:var(--blue)}
.overview-card img{aspect-ratio:1.35}
.overview-card span{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:11px 13px;font-weight:650}
.designs h2{margin-bottom:24px}
.image-button{position:relative;display:block;border:0;background:transparent;padding:0;width:100%}
.image-button span{position:absolute;right:9px;bottom:9px;padding:4px 10px;background:white;border-radius:4px;color:var(--ink)}
.service-cta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media(max-width:820px){.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-card span{font-size:.9rem}}
.planner{display:grid;grid-template-columns:minmax(245px,1fr) minmax(0,2fr);gap:24px;align-items:start}
.planner h2{font:400 2rem/1.15 Georgia,serif;margin-bottom:12px}
.planner-tools{padding:18px;display:grid;gap:12px}
.planner-tools>button{justify-self:start}
.planner-tools input[type=file]{min-width:0;font-size:.85rem}
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.planner-tools fieldset{min-width:0;border:1px solid var(--border);padding:9px}
.planner-tools .choices{margin:12px 0 0}
#plan-model{width:100%;height:clamp(300px,55vw,620px);background:#e4ecf1;margin-top:12px;touch-action:none}
#plan-model [data-element]{cursor:grab}
#plan-status{min-height:1.6em}
#plan-pdf{margin-top:16px;width:100%;height:550px;border:1px solid var(--border)}
@media(max-width:700px){.planner{grid-template-columns:minmax(0,1fr)}}

.contact-links{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}
.contact-links strong{display:block;font-size:.83rem}
.contact-links a{overflow-wrap:anywhere}

/* Steel-blue review theme */
:root{--paper:#f5f9fc;--ink:#193348;--muted:#415d71;--blue:#386482;--pale:#e4eef5;--border:#c6d8e5}
.mast nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}
.nav-drop{position:relative}.nav-drop summary,.nav-link{color:var(--ink);cursor:pointer;padding:9px 5px;font-weight:700}
.nav-drop summary::marker{color:var(--blue)}.nav-drop[open]>summary,.nav-link:hover{color:var(--blue)}
.nav-drop>div{z-index:10;position:absolute;top:100%;left:0;min-width:170px;display:grid;padding:7px;background:white;border:1px solid var(--border);box-shadow:0 10px 30px #23465b28}
.nav-drop>div a{padding:8px}.nav-drop>div a:hover{background:var(--pale)}
.home-hero,.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:clamp(20px,5vw,70px)}
.home-hero{padding-block:clamp(28px,5vw,65px)}
.home-hero h1,.intro-grid h1{font-size:clamp(2.7rem,5.2vw,5rem);max-width:16ch}
.home-hero p,.intro-grid p{margin:15px 0}.page-intro{padding-block:48px}
.slide-show{min-width:0;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.slide-show img{height:auto;aspect-ratio:1.65;object-fit:cover}
figure figcaption,.model-reference figcaption{font-size:.7rem;padding:6px 10px;color:var(--muted);background:#edf5fa}
.slide-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px}
.slide-controls button{border:1px solid var(--border);border-radius:5px;color:var(--ink);background:var(--pale);min-height:42px;min-width:42px}
.slide-controls span{text-align:center;font-size:.85rem;font-weight:700}
.product-brief{padding-block:45px 20px}.product-brief p{max-width:76ch;margin:14px 0}.product-brief table{border-collapse:collapse;background:white}.product-brief th,.product-brief td{padding:9px 12px;border:1px solid var(--border);text-align:left}
.service-card .button{align-self:flex-start;margin-top:auto}.overview-card figure{margin:0}.overview-card figcaption{min-height:38px}
#models{width:min(850px,calc(100% - 26px));border:1px solid var(--border)}
.model-reference img{height:clamp(125px,25vh,240px);object-fit:contain}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.model-grid article{display:grid;gap:8px;background:var(--pale);padding:10px}.model-grid .button{font-size:.75rem}
.finish-diagram{display:flex;justify-content:center;gap:3px;height:88px;padding:9px;background:#d8e7ef;border:5px solid var(--sample);overflow:hidden}
.finish-diagram i{flex:1;background:#eff8fa88;border:3px solid var(--sample)}.finish-diagram:not([data-shape=three]) i:last-child,.finish-diagram[data-shape=single] i:nth-child(2){display:none}.finish-diagram[data-shape=arched]{border-radius:50% 50% 0 0}
.visual-kitchens i,.visual-ceilings i,.visual-partitions i{background:var(--sample);border-color:#fff7}.visual-ceilings{transform:skewX(-8deg)}
#drawing[data-style=arched] .frame{border-radius:50% 50% 0 0;overflow:hidden}
#drawing[data-style=awning] .pane:first-child,#drawing[data-style=tilt-and-turn] .pane:first-child{transform:scale(.92);box-shadow:0 4px 7px #25496066}
#drawing[data-style=bay] .pane:first-child{transform:skewY(8deg)}
#drawing[data-style=vertical-sash] .frame{flex-direction:column}
@media(max-width:1080px){.mast nav{justify-content:flex-start}}
@media(max-width:820px){.nav-drop>div{position:static;box-shadow:none}.home-hero,.intro-grid{grid-template-columns:1fr}.mast nav{align-items:flex-start}}
@media(max-width:460px){.model-grid{grid-template-columns:1fr}.slide-controls{gap:4px}}
.planner-tools{background:#eff6fb}
.planner-result{background:#eef5fa;border:1px solid var(--border);border-radius:10px;padding:clamp(10px,3vw,24px)}
#room-model{width:100%;height:clamp(300px,55vw,620px);background:linear-gradient(145deg,#eff8fd,#cfdfec);border-radius:8px}
#hardware-note{margin-top:8px;font-size:.82rem}

.finish-diagram[data-shape=stacked]{flex-direction:column}
.finish-diagram[data-shape=tracks] i:nth-child(2){transform:translateY(3px)}
.finish-diagram[data-shape=arched] i:nth-child(2){display:none}
#models h3{margin-top:12px}

.image-disclosure{padding-block:0 16px;font-size:.82rem;color:var(--muted)}

/* Compact product navigation */
.mast #nav{width:auto;flex-wrap:nowrap;align-items:center;gap:20px}
.products-menu,.product-side{position:relative}
.products-menu summary,.product-side summary{cursor:pointer;font-weight:700;padding:9px 12px}
.products-menu>summary{background:var(--pale);border:1px solid var(--border);border-radius:6px}
.products-list,.product-submenu{position:absolute;z-index:9;min-width:215px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 24px #1d3b5122;padding:6px}
.products-list{top:100%;right:64px;max-width:calc(100vw - 34px)}
.product-submenu{top:0;left:100%}
.products-list a,.product-submenu a{display:block;padding:8px 12px;color:var(--ink)}
.products-list a:hover,.product-submenu a:hover,.product-side summary:hover{background:var(--pale)}
#models .gallery-view img{width:100%;height:min(44dvh,470px);object-fit:contain;background:var(--pale)}
.gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-block:10px}
.gallery-thumbs button{min-width:0;background:white;color:var(--ink);border:1px solid var(--border);border-radius:4px;padding:4px;font:inherit;font-size:.8rem}
.gallery-thumbs button[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:-2px;background:var(--pale)}
.gallery-thumbs img{height:clamp(44px,11vh,105px);object-fit:cover}
@media(max-width:820px){.mast #nav{width:100%;flex-wrap:wrap;justify-content:flex-start}.products-list,.product-submenu{position:static;box-shadow:none;min-width:0}.product-submenu{margin-left:10px}.products-list{margin-top:4px}}

.find-menu{position:relative}
.find-menu summary{cursor:pointer;font-weight:700;padding:9px 5px}
.find-list{position:absolute;top:100%;right:0;z-index:11;min-width:215px;padding:6px;background:white;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 24px #1d3b5122}
.find-list a{display:flex;gap:9px;align-items:center;padding:8px;color:var(--ink);overflow-wrap:anywhere}
.find-list a:hover{background:var(--pale)}
.find-list svg{flex:none;color:var(--blue)}
@media(max-width:820px){.find-list{left:0;right:auto;max-width:calc(100vw - 36px)}}
@media(max-width:460px){.mast #nav{gap:6px 10px}.mast #nav .nav-link{padding-inline:4px}.mast #nav .products-menu>summary{padding-inline:7px}}
.home-hero h1{max-width:none}
.home-brand-line,.home-concept-line{display:block}
.home-brand-line{font-size:clamp(1.65rem,4.4vw,4.3rem);white-space:nowrap}
.home-concept-line{font-size:clamp(1.15rem,2.18vw,2.2rem);margin-top:.35em}
.about-copy{max-width:820px}
.about-copy h2{font-size:clamp(1.7rem,3.5vw,2.55rem);margin-top:1.8rem}
.about-copy p,.about-copy ul,.about-copy address{margin:0.85rem 0}
.about-copy li+li{margin-top:.5rem}
.about-copy address{font-style:normal}
.about-copy .actions a{overflow-wrap:anywhere}
