@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{
  color-scheme:light;
  --ink:#19334e;
  --navy:#123e6b;
  --deep-blue:#0c2d4f;
  --blue:#215c8c;
  --sky:#c5e5fb;
  --paper:#fafbfc;
  --mist:#e7f1f8;
  --pale:#edf5fa;
  --line:#cbd9e4;
  --muted:#455e73;
  --serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,Arial,sans-serif;
  --gutter:clamp(24px,5.2vw,88px);--measure:1380px;--header:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit;cursor:pointer}
button,input,select,textarea,a,summary{-webkit-tap-highlight-color:transparent}
button{background:none;border:0}
[hidden]{display:none!important}
.js-only{display:none!important}
.has-js .js-only{display:var(--js-display,block)!important}
img{display:block;max-width:100%}
figure,h1,h2,h3,h4,p,dl,dd{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.027em}
h1 em,h2 em{font-weight:400}
h2{font-size:clamp(50px,5.4vw,88px)}
p{overflow-wrap:break-word}
.wrap{width:min(100%,calc(var(--measure) + 2 * var(--gutter)));padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:clamp(64px,7vw,112px)}
.icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}
:focus-visible{outline:3px solid #176599;outline-offset:4px}
.hero :focus-visible,.viewer :focus-visible{outline-color:#c8eaff}
.skip,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.skip:focus{position:fixed;inset:6px auto auto 8px;width:auto;height:auto;clip:auto;clip-path:none;z-index:50;padding:12px 18px;background:white;color:var(--ink)}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:650;line-height:1.25}
.button{min-height:46px;padding:12px 22px;border-radius:30px;border:1px solid transparent;transition:background .18s,color .18s,transform .18s}
.button .icon,.text-link .icon{width:17px;height:17px}
.button:hover,.icon-button:hover,.photo-control:hover,.viewer-arrow:hover{transform:translateY(-1px)}
.button.dark{background:var(--navy);color:#fff}
.button.dark:hover{background:#205c94}
.button.sky{color:var(--deep-blue);background:var(--sky)}
.button.sky:hover{background:#e5f4ff}
.button.outline{border-color:#829cb0;background:transparent}
.button.outline:hover{background:var(--pale)}
.text-link{justify-content:flex-start;padding:4px 0 5px;border-bottom:1px solid #819eb6}
.text-link:hover{color:var(--blue);border-color:currentColor}
.text-link.light{color:#f5fbff;border-color:#86aac9}
.text-link.light:hover{color:var(--sky)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}
.kicker,.card-tag,.photo-label,.place{font-family:var(--sans);font-weight:650;font-size:11px;letter-spacing:.145em;line-height:1.4;text-transform:uppercase}
.kicker{display:flex;align-items:center;gap:12px;color:var(--blue);margin-bottom:15px}
.kicker::before{content:"";width:27px;height:1px;background:currentColor;display:inline-block;opacity:.8}
.site-header{position:sticky;top:0;z-index:20;background:#fcfdff;border-bottom:1px solid var(--line)}
.header-inner{display:grid;grid-template-columns:minmax(125px,1fr) auto minmax(160px,1fr);align-items:center;gap:24px;height:var(--header);width:min(100%,calc(var(--measure) + 2 * var(--gutter)));margin:auto;padding-inline:var(--gutter)}
.brand{display:inline-flex;justify-self:start;align-items:center;flex-shrink:0}
.brand img{width:106px;height:auto}
#main-nav,.site-footer nav{display:flex;align-items:center}
#main-nav{gap:clamp(22px,2.9vw,53px)}
#main-nav a,.site-footer nav a{font-size:14px;font-weight:550;white-space:nowrap}
#main-nav a:hover,.site-footer nav a:hover,#main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:11px}
.header-estimate{min-height:41px;padding:10px 18px;font-size:13px}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper)}
.menu-toggle .icon:nth-child(2),.menu-toggle[aria-expanded="true"] .icon:first-child{display:none}
.menu-toggle[aria-expanded="true"] .icon:nth-child(2){display:block}
.hero{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:clamp(470px,37.7vw,605px)}
.hero-copy{position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fafcff}
.hero-copy-inner{width:100%;position:relative;z-index:1;padding:clamp(52px,5.5vw,90px) clamp(24px,3vw,55px) clamp(61px,6vw,95px) max(var(--gutter),calc((100vw - var(--measure)) / 2))}
.ripples{position:absolute;bottom:-45px;left:0;width:100%;height:53%;color:#7fb4dc;opacity:.19;pointer-events:none}
.place{display:flex;align-items:center;gap:8px;color:#c7e1f5;font-size:10.5px;letter-spacing:.15em}
.place .icon{width:15px;height:15px}
.hero h1{font-size:clamp(76px,7.8vw,128px);line-height:.88;letter-spacing:-.031em;margin:23px 0 22px}
.hero h1 em{color:var(--sky)}
.hero-intro{position:relative;font-size:clamp(15px,1.18vw,18px);line-height:1.55;max-width:355px;color:#e2eff9}
.hero-links{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px);margin-top:28px;flex-wrap:wrap}
.hero-photo{position:relative;min-height:100%;overflow:hidden;background:#22638e;color:white}
.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-photo::after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(0deg,rgba(5,24,46,.80),rgba(5,24,46,.23) 35%,transparent 68%)}
.hero-photo figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:14px;padding:24px clamp(24px,2.6vw,44px)}
.hero-caption{display:grid;gap:5px}
.hero-caption .photo-label{color:#eef6fc;letter-spacing:.1em;font-size:10px}
#hero-title{font:400 clamp(24px,2.3vw,35px)/1.03 var(--serif)}
.photo-controls{--js-display:flex;align-items:center;gap:8px}
#hero-count{font-size:11px;letter-spacing:.11em;margin-right:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.photo-control,.viewer-arrow{width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #d5e5f0bb;color:#fff;background:#0c274b66}
.photo-control:hover,.viewer-arrow:hover{background:#163e69bb}
.photo-control .icon{width:17px;height:17px}
.proof{background:var(--mist);border-bottom:1px solid var(--line)}
.proof-inner{display:flex;align-items:center;justify-content:space-between;min-height:63px;gap:15px}
.proof-inner a{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:550;color:#2d5275;line-height:1.3}
.proof-inner a:hover{text-decoration:underline;text-underline-offset:4px}
.proof .icon{width:19px;height:19px}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:34px}
.section-head>.text-link{margin-bottom:5px;flex-shrink:0}
.section-head h2 em,.service-copy h2 em,.guide-side h2 em,.gallery-contact h2 em{color:var(--blue)}
.work{padding-top:clamp(54px,5.2vw,82px)}
.feature-grid{display:grid;grid-template-columns:1.13fr 1fr 1fr;gap:clamp(18px,2vw,32px)}
.feature-image,.gallery-image{position:relative;overflow:hidden;background:#cbdfea}
.feature-image{aspect-ratio:1.5}
.feature-card:first-child .feature-image{aspect-ratio:auto;height:auto}
.feature-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start;row-gap:0}
.feature-image img,.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.feature-card:hover img,.gallery-card:hover img,.skyline-card:hover>img{transform:scale(1.035)}
.photo-arrow{position:absolute;right:13px;top:13px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:33px;height:33px;background:#f9fcffee;color:var(--navy)}
.photo-arrow .icon{width:16px;height:16px}
.card-tag{display:block;font-size:10px;color:var(--blue);letter-spacing:.1em;margin-top:16px}
.feature-card h3,.gallery-card h3{font-size:clamp(27px,2.6vw,42px);line-height:1.1;margin-top:4px}
.feature-card:hover h3,.gallery-card:hover h3{color:#196797}
.section-note{max-width:345px;font-size:15px;line-height:1.6;color:var(--muted);margin-bottom:2px}
.services{background:var(--mist)}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,108px);align-items:center}
.service-image{position:relative;min-height:480px;align-self:stretch;overflow:hidden;background:#d2e3ee}
.service-image img{position:absolute;height:100%;width:100%;object-fit:cover}
.service-copy .kicker{margin-bottom:12px}
.service-list{margin-top:29px;border-top:1px solid #afc5d5}
.service-detail{border-bottom:1px solid #afc5d5}
.service-detail summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-size:19px;line-height:1.25;font-weight:550;padding:19px 0}
.service-detail summary::-webkit-details-marker{display:none}
.detail-toggle{width:16px;height:16px;position:relative;flex-shrink:0}
.detail-toggle::before,.detail-toggle::after{content:"";position:absolute;background:var(--ink);left:1px;top:7px;width:14px;height:1.5px}
.detail-toggle::after{transform:rotate(90deg)}
.service-detail[open] .detail-toggle::after{transform:rotate(0)}
.service-detail p,.guide-side>p:not(.kicker),.material p,.family p:not(.kicker),.contact-intro,.term-row dd{color:var(--muted)}
.service-detail p{font-size:15px;padding:0 27px 19px 0;margin-top:-3px}
.service-copy>.text-link{margin-top:22px}
.compare-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.7vw,26px)}
.compare-pair figure{position:relative;background:#d7e5ee;overflow:hidden}
.compare-pair img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}
.compare-pair figcaption{position:absolute;bottom:16px;left:17px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:600;padding:5px 13px;border-radius:20px}
.remodel>.text-link{margin-top:22px}
.family{background:#eef1f5}
.family-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6.2vw,100px);align-items:center}
.family h2{font-size:clamp(50px,5.2vw,85px)}
.family h2 em{color:#3e6482}
.family p:not(.kicker){max-width:510px;margin-top:21px;font-size:16px}
.family-photos{text-align:center}
.family-photos>div{display:flex;align-items:center;justify-content:center;min-height:240px}
.family-photos img{position:relative;width:40%;max-width:202px;height:auto;filter:drop-shadow(2px 4px 4px #172e4929)}
.family-photos .archive-first{transform:rotate(-3deg);margin-right:-11px}
.family-photos .archive-second{transform:rotate(3deg);margin-top:30px}
.family-photos figcaption{margin-top:12px;font:italic 22px/1.2 var(--serif);color:#4e6579}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(38px,7.2vw,116px)}
.contact-intro{max-width:405px;margin-top:22px;font-size:17px}
.contact-person{display:flex;align-items:center;gap:14px;margin:27px 0 18px}
.contact-person img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.contact-person strong,.contact-person span{display:block}
.contact-person strong{font-size:15px}
.contact-person span{font-size:13px;color:var(--muted)}
.contact-methods{display:grid;gap:10px}
.contact-methods span{display:flex;align-items:center;gap:11px}
.contact-methods a{text-decoration:underline;text-decoration-color:#8aa4bb;text-underline-offset:4px}
.inquiry{padding:clamp(22px,3vw,42px);background:var(--mist);border:1px solid var(--line)}
.inquiry h3{font-size:34px;margin-bottom:18px}
.inquiry form{display:grid;gap:14px;--js-display:grid}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:5px;font-size:13px;font-weight:600}
input,textarea,select{width:100%;min-width:0;border:1px solid #8199ad;border-radius:3px;color:var(--ink);background:#ffffff;padding:10px 12px;font-size:16px;line-height:1.3}
textarea{resize:vertical;min-height:70px}
::placeholder{color:#536a7c;opacity:1}
.form-note{font-size:13px;color:var(--muted);line-height:1.45}
.inquiry .button{justify-self:start}
.draft-tools{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}
.draft-tools .text-link{margin-top:6px}
.site-footer{border-top:1px solid var(--line);background:#eff3f8}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}
.site-footer .brand img{width:94px}
.site-footer nav{gap:clamp(16px,2.4vw,38px)}
.site-footer .license{display:inline-flex;align-items:center;gap:5px;color:#3f566d;font-size:12px}
.license .icon{width:14px;height:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-bottom:20px;color:var(--muted);font-size:12px}
.gallery-intro,.guide-intro{background:var(--mist)}
.gallery-lead,.guide-lead{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(32px,7vw,108px);padding-block:clamp(44px,4.9vw,76px)}
.gallery-lead h1,.guide-lead h1{font-size:clamp(68px,7.4vw,120px);line-height:.98}
.gallery-lead h1 em,.guide-lead h1 em{color:var(--blue)}
.gallery-lead p:not(.kicker),.guide-lead p:not(.kicker){max-width:495px;margin-top:20px;font-size:17px;color:var(--muted)}
.gallery-lead .text-link{margin-top:22px}
.skyline-card{display:block;position:relative;overflow:hidden;background:#385d7e;isolation:isolate}
.skyline-card img{width:100%;height:auto;aspect-ratio:1.83;object-fit:cover;transition:transform .35s}
.skyline-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0b284bcc);pointer-events:none}
.skyline-text{position:absolute;bottom:17px;left:20px;color:white;z-index:1}
.skyline-text small{display:block;text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:.10em}
.skyline-text strong{display:block;font:400 28px/1.12 var(--serif)}
.gallery-section{padding-block:50px 80px}
.gallery-section>h2{font-size:clamp(43px,4.2vw,70px)}
.gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 28px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.filters{--js-display:flex;flex-wrap:wrap;gap:7px}
.filters button{border:1px solid #a4bacd;border-radius:22px;padding:8px 15px;font-size:13px;font-weight:550;white-space:nowrap}
.filters button[aria-pressed="true"]{border-color:var(--navy);color:white;background:var(--navy)}
.filters button[aria-pressed="false"]:hover{background:var(--pale)}
#gallery-count{color:var(--muted);font-size:13px;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 23px}
.gallery-image{aspect-ratio:1.44}
.gallery-card h3{font-size:29px}
.gallery-card .card-tag{margin-top:12px}
.gallery-more{text-align:center;margin-top:36px}
.gallery-contact{background:var(--pale)}
.gallery-contact>.wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:54px}
.gallery-contact h2{font-size:clamp(43px,4.7vw,70px)}
.viewer{margin:auto;background:#102944;color:#f7fbff;border:1px solid #7790a9;padding:12px 20px 20px;width:min(910px,94vw);max-height:94vh;max-height:94dvh;overflow:auto;border-radius:3px}
.viewer::backdrop{background:rgb(5 20 37 / 88%)}
.viewer-top,.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:13px}
.viewer-top{padding-bottom:8px}
.viewer-top>span,#viewer-count{font-size:12px}
.viewer-top>.icon-button:hover{background:#244867}
.viewer-stage{position:relative;display:flex;justify-content:center;align-items:center;gap:7px;min-height:130px;background:#091f36}
#viewer-image{width:100%;height:min(62vh,550px);height:min(62dvh,550px);object-fit:contain}
.viewer-arrow{position:absolute;left:8px;background:#123456cc}
.viewer-arrow:last-child{left:auto;right:8px}
.viewer-caption{padding-top:14px}
.viewer-caption .photo-label{color:#bfdbef}
.viewer-caption h2{font-size:32px;margin-top:3px}
.guide-lead>img{width:100%;height:auto;aspect-ratio:1.88;object-fit:cover}
.guide-index{border-bottom:1px solid var(--line);background:var(--pale)}
.guide-index>.wrap{display:flex;align-items:center;gap:clamp(18px,3.5vw,62px);padding-block:16px}
.guide-index a{font-size:14px;font-weight:600}
.guide-index a:hover,.license:hover{text-decoration:underline;text-underline-offset:5px}
.guide-part{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.12fr);gap:clamp(30px,8vw,130px);align-items:start}
.guide-side>.text-link{margin-top:20px}
.guide-side>p:not(.kicker){max-width:405px;margin-top:20px}
.material,.term-row{padding-block:21px;border-top:1px solid var(--line)}
.material h3,.term-row dt{font:400 29px/1.15 var(--serif)}
.material p,.term-row dd{margin-top:7px;font-size:15px}
.material .text-link{margin-top:12px;font-size:13px}
.finish-examples{display:flex;flex-wrap:wrap;gap:0 20px}
.care{background:var(--pale)}
.term-search{margin-bottom:20px}
.term-row{display:grid;grid-template-columns:minmax(130px,.58fr) minmax(0,1fr);gap:16px}
.term-row dt{font-size:25px}
.term-row dd{margin:0}
@media (min-width:1720px){
  .hero{grid-template-columns:calc((100vw - var(--measure)) / 2 + var(--measure)*.425) 1fr}
  .hero-copy-inner{padding-right:90px}
}
@media (max-width:1000px){
  .header-inner{grid-template-columns:auto auto auto;justify-content:space-between;gap:16px}
  #main-nav{gap:20px}
  .hero-copy-inner{padding-right:26px}
  .hero{grid-template-columns:46% 54%}
  .hero h1{font-size:clamp(73px,8.5vw,90px)}
  .hero-links{gap:15px}
  .hero-links .button{padding:11px 17px}
  .hero-photo figcaption{padding:20px}
  .proof-inner a{font-size:12px}
  .services-grid,.family-grid,.contact-grid{gap:36px}
  .service-image{min-height:420px}
  .feature-grid{grid-template-columns:1.07fr 1fr 1fr;gap:15px}
  .gallery-grid{gap:25px 15px}
  .guide-part{gap:40px}
}
@media (max-width:760px){
  :root{--header:66px;--gutter:clamp(20px,5.5vw,32px)}
  .header-inner{grid-template-columns:1fr auto;gap:8px}
  .brand img{width:81px}
  .header-actions{gap:8px}
  .header-estimate{font-size:12px;min-height:38px;padding:8px 13px;gap:6px}
  .header-estimate .icon{width:14px;height:14px}
  .has-js .menu-toggle{display:inline-flex}
  #main-nav{position:absolute;top:100%;left:0;right:0;background:#fcfdff;padding:10px var(--gutter) 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 21px}
  #main-nav a{padding:9px 0}
  .has-js #main-nav{display:none}
  .has-js #main-nav.is-open{display:grid}
  html:not(.has-js) .site-header{position:relative}
  html:not(.has-js) .header-inner{height:auto;padding-block:10px}
  html:not(.has-js) #main-nav{position:static;grid-row:2;grid-column:1/-1;padding:0;border:0}
  html:not(.has-js) .header-actions{grid-column:2;grid-row:1}
  .hero{grid-template-columns:1fr}
  .hero-copy-inner{padding:40px var(--gutter) 36px}
  .hero h1{font-size:clamp(78px,14vw,104px);margin:18px 0 16px}
  .hero-intro{max-width:420px;font-size:15px}
  .hero-links{margin-top:21px;gap:23px}
  .hero-photo{min-height:0;height:clamp(245px,55vw,375px)}
  .hero-photo>img{object-position:center 48%}
  .ripples{left:auto;right:-8%;width:80%;height:66%}
  .hero-photo figcaption{padding:15px var(--gutter)}
  .photo-control{width:36px;height:36px}
  #hero-title{font-size:25px}
  .proof-inner{min-height:56px;gap:10px}
  .proof-inner a{letter-spacing:-.018em;font-size:11.5px;gap:6px}
  .proof .icon{width:16px;height:16px}
  .section{padding-block:57px}
  h2{font-size:clamp(49px,8.6vw,68px)}
  .section-head{gap:16px;margin-bottom:25px}
  .section-head>.text-link{margin-bottom:3px}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px}
  .feature-card{display:block;grid-row:auto}
  .feature-image,.feature-card:first-child .feature-image{height:auto;aspect-ratio:1.45}
  .feature-card:first-child{grid-column:1/-1}
  .feature-card:first-child .feature-image{aspect-ratio:2}
  .feature-card h3{font-size:29px}
  .services-grid,.family-grid,.contact-grid{grid-template-columns:1fr;gap:29px}
  .service-image{grid-row:2;min-height:0;aspect-ratio:1.7}
  .service-copy h2 br{display:none}
  .remodel .section-head{display:block}
  .section-note{margin-top:15px}
  .compare-pair{gap:10px}
  .compare-pair img{aspect-ratio:1.2}
  .compare-pair figcaption{bottom:10px;left:10px;padding:4px 10px}
  .family-photos>div{min-height:170px}
  .family-photos img{width:35%;max-width:170px}
  .family-photos figcaption{margin-top:7px}
  .family p:not(.kicker){margin-top:15px}
  .contact-intro{margin-top:16px}
  .contact-person{margin-top:19px}
  .footer-row{flex-wrap:wrap;gap:20px;padding-block:24px 15px}
  .footer-row .license{flex-basis:100%}
  .site-footer nav{flex-wrap:wrap;gap:15px}
  .gallery-lead,.guide-lead{grid-template-columns:1fr;gap:24px}
  .gallery-lead p:not(.kicker),.guide-lead p:not(.kicker){margin-top:16px;font-size:16px}
  .gallery-lead .text-link{margin-top:14px}
  .gallery-lead h1,.guide-lead h1{font-size:clamp(58px,11vw,88px)}
  .skyline-card,.guide-lead>img{max-width:540px}
  .gallery-section{padding-block:38px 56px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .gallery-card h3{font-size:25px}
  .gallery-bar{align-items:start;flex-wrap:wrap;gap:9px;margin:15px 0 21px}
  .gallery-contact>.wrap{align-items:flex-start;flex-direction:column;padding-block:40px}
  .guide-part{grid-template-columns:1fr;gap:24px}
  .guide-side>p:not(.kicker){margin-top:14px;max-width:520px}
  .guide-side>.text-link{margin-top:15px}
  .guide-index>.wrap{gap:14px;justify-content:space-between}
  .guide-index a{font-size:13px}
}
@media (max-width:500px){
  .proof-inner{flex-wrap:wrap;justify-content:center;gap:7px 18px;padding-block:12px}
  .proof-inner a{font-size:11px}
  .proof-inner a:nth-child(2){display:none}
  .work>.section-head{align-items:flex-start;flex-direction:column;gap:12px}
  .card-tag{font-size:9px;margin-top:11px}
  .feature-grid{gap:18px 12px}
  .feature-card h3{font-size:26px}
  .feature-card:first-child h3{font-size:32px}
  .photo-arrow{width:29px;height:29px;right:9px;top:9px}
  .compare-pair{grid-template-columns:1fr}
  .compare-pair img{aspect-ratio:1.75}
  .field-row{grid-template-columns:1fr}
  .inquiry{padding:20px}
  .gallery-grid{column-gap:12px}
  .gallery-card h3{font-size:23px}
  .gallery-image{aspect-ratio:1.12}
  .filters{gap:5px}
  .filters button{font-size:12px;padding:7px 10px}
  .term-row{grid-template-columns:1fr;gap:5px}
  .guide-index a{font-size:12px}
  .viewer{padding:8px 10px 14px;width:96vw}
  .viewer-caption h2{font-size:26px}
  #viewer-image{height:min(56dvh,490px)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
.draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:12px}
.draft-actions .text-link{margin-top:0}
#copy-manual{margin-top:12px}
