/* Numerish CommerceBuilder360 R4 | Premium visual system | mobile first, high-DPI media */
@font-face{font-family:"NumerishDM";src:url("/assets/commercebuilder360/fonts/dm-sans-normal.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"NumerishInstrument";src:url("/assets/commercebuilder360/fonts/instrument-serif-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"NumerishInstrument";src:url("/assets/commercebuilder360/fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--accent:#233d5d;--soft:#f5f6f4;--ink:#151c23;--muted:#647073;--base:#fff;--hairline:rgba(18,33,43,.12);--serif:"NumerishInstrument",Georgia,serif;--sans:"NumerishDM",system-ui,sans-serif;--wide:1440px;--gut:clamp(20px,4.6vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.premium-r4{margin:0;background:var(--base);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.premium-r4[data-commerce-available="false"]{--payment-status:"disabled"}
.premium-r4 a{color:inherit;text-decoration:none}
.premium-r4 a:hover{text-decoration:none}
.premium-r4 a:focus-visible,.premium-r4 summary:focus-visible,.premium-r4 input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.premium-r4 img{max-width:100%;height:auto;display:block}
.premium-r4 button,.premium-r4 input{font:inherit}
.premium-r4 [hidden]{display:none!important}
.premium-r4 h1,.premium-r4 h2,.premium-r4 h3,.premium-r4 p{margin-top:0}
.premium-r4 h1,.premium-r4 h2,.premium-r4 h3{letter-spacing:-.045em;line-height:1.08;font-weight:650}
.premium-r4 p{color:var(--muted)}
.p-container{width:min(100%,calc(var(--wide) + var(--gut)*2));padding-inline:var(--gut);margin-inline:auto}
.skip{position:fixed;left:12px;top:-100px;z-index:1000;padding:12px 18px;background:#172638;color:white!important}
.skip:focus{top:8px}
.preview-banner{display:flex;justify-content:center;gap:18px;align-items:center;flex-wrap:wrap;background:#f6f2ed;color:#61554a;padding:8px 20px;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;line-height:1.4}
.preview-banner strong{font-weight:760}.preview-banner span:last-child{font-size:.65rem;letter-spacing:.02em;text-transform:none}
.preview-signal{width:7px;height:7px;border-radius:50%;background:#c67e45}
.p-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.98);color:#182332;border-bottom:1px solid rgba(20,29,45,.09);backdrop-filter:blur(16px)}
.p-header-inner{min-height:86px;display:flex;align-items:center;gap:26px}
.p-brand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;font:600 clamp(1.38rem,1.9vw,1.88rem)/1 var(--sans);letter-spacing:-.055em;flex-shrink:0}
.brand-period{color:var(--accent);font-size:1.4em}
.p-nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,30px);margin-inline:auto}
.p-nav a{font-weight:650;font-size:.78rem;letter-spacing:.01em;color:inherit;opacity:.78;white-space:nowrap;transition:opacity .2s}
.p-nav a[aria-current],.p-nav a:hover{opacity:1}
.p-header-cta{border:1px solid currentColor;padding:10px 16px;display:inline-flex;align-items:center;gap:16px;font-size:.75rem;font-weight:750;letter-spacing:.02em;white-space:nowrap;transition:background .2s}
.p-header-cta:hover{background:var(--accent);color:white;border-color:var(--accent)}
.p-mobile-menu{display:none}
.p-hero{position:relative;isolation:isolate;overflow:hidden;background:#13212f;color:white}
.p-hero-lead{min-height:clamp(640px,calc(100svh - 40px),980px)}
.p-hero-inner{min-height:540px}
.p-hero-photo{position:absolute;z-index:-3;inset:0;overflow:hidden}
.p-hero-photo picture,.p-hero-photo img{width:100%;height:100%;object-fit:cover}
.p-hero-photo img{max-width:none}
.p-hero-tone{position:absolute;z-index:-2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(13,18,19,.77),rgba(13,18,19,.40) 55%,rgba(13,18,19,.1))}
.p-hero-wrap{min-height:inherit;position:relative;display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:115px;padding-bottom:115px}
.p-hero-copy{max-width:min(720px,68%);position:relative}
.p-kicker{font-size:.68rem!important;font-weight:750!important;letter-spacing:.19em!important;line-height:1.5;text-transform:uppercase;color:var(--accent)!important;margin-bottom:21px}
.p-hero-kicker{display:flex;gap:14px;align-items:center;color:inherit!important;opacity:.88}
.kicker-line{width:29px;height:1px;background:currentColor;display:inline-block;flex:0 0 29px}
.p-hero-copy h1{font-size:clamp(3.5rem,6.6vw,8.1rem);line-height:.96;letter-spacing:-.048em;font-weight:550;max-width:820px;margin:0 0 32px}
.p-hero-copy h2{font-size:clamp(3.25rem,5.2vw,6rem);line-height:.98;font-weight:540;max-width:800px;margin:0 0 30px}
.p-hero-description{color:inherit!important;opacity:.87;max-width:535px;font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.72;margin:0 0 37px!important}
.p-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.p-button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 22px;min-height:53px;font-size:.82rem;font-weight:730;letter-spacing:.025em;line-height:1.3;transition:transform .2s,background .2s,color .2s}
.p-button:hover{transform:translateY(-2px)}
.p-button-main{background:#fff;color:#192332!important}
.p-button-main:hover{background:var(--soft)}
.p-text-link,.p-plain-link{display:inline-flex;gap:15px;align-items:center;font-size:.86rem;font-weight:730;line-height:1.3;padding:12px 0;border-bottom:1px solid currentColor}
.p-text-link span,.p-plain-link span{font-size:1.1rem}
.p-hero-index{display:flex;gap:20px;align-items:center;writing-mode:vertical-rl;white-space:nowrap;letter-spacing:.17em;font-size:.59rem;font-weight:730;opacity:.83;position:absolute;right:var(--gut);top:50%;transform:translateY(-50%)}
.p-index-line{width:1px;height:52px;background:currentColor;opacity:.65}
.p-scroll-prompt{position:absolute;z-index:2;bottom:27px;left:var(--gut);display:flex;gap:15px;align-items:center;font-size:.64rem;text-transform:uppercase;letter-spacing:.17em;font-weight:760}
.p-scroll-prompt span{font-size:1.2rem}
.p-hero-inner .p-hero-wrap{padding-top:90px;padding-bottom:85px}
.p-hero-inner .p-hero-copy{max-width:650px}
.p-hero-inner .p-hero-copy h2{font-size:clamp(2.7rem,5.5vw,5.7rem)}
/* 1 — Immersive photographic fashion, travel, architectural and automotive stories */
.preset-atelier,.preset-escape,.preset-motion,.preset-spaces{--ink:#172027;--muted:#626765}
.preset-atelier .p-hero-copy h1,.preset-escape .p-hero-copy h1,.preset-spaces .p-hero-copy h1{font-family:var(--serif);font-weight:400;letter-spacing:-.036em;font-size:clamp(4.7rem,8.4vw,10.6rem);line-height:.85}
.preset-atelier .p-hero-copy h2,.preset-escape .p-hero-copy h2,.preset-spaces .p-hero-copy h2{font-family:var(--serif);font-size:clamp(3.4rem,5.5vw,7rem);font-weight:400}
.preset-atelier .p-hero-tone{background:linear-gradient(90deg,rgba(17,19,19,.66) 1%,rgba(17,19,19,.20) 68%,transparent),linear-gradient(0deg,rgba(0,0,0,.38),transparent 56%)}
.preset-escape .p-hero-tone{background:linear-gradient(90deg,rgba(12,22,27,.69),rgba(12,22,27,.17) 80%),linear-gradient(0deg,rgba(0,0,0,.31),transparent 60%)}
.preset-motion .p-hero-tone{background:linear-gradient(90deg,rgba(10,14,17,.8),rgba(10,14,17,.21) 73%)}
.preset-spaces .p-hero-tone{background:linear-gradient(90deg,rgba(8,12,16,.58),rgba(8,12,16,.08)),linear-gradient(0deg,rgba(0,0,0,.45),transparent)}
.photo-overlay-header .p-header{position:absolute;left:0;right:0;background:transparent;border:0;color:white;backdrop-filter:none}
.photo-overlay-header .brand-period{color:white}
.photo-overlay-header .p-header-cta{background:rgba(255,255,255,.08);border-color:#ffffffaa}
.photo-overlay-header .p-header-cta:hover{background:#fff;color:#182232}
.photo-overlay-header .p-hero-lead .p-hero-wrap{padding-top:160px}
.preset-atelier .p-hero-lead .p-hero-copy{align-self:flex-end;max-width:880px}
.preset-atelier .p-hero-lead .p-hero-wrap{align-items:flex-end;padding-bottom:125px}
.preset-atelier .p-hero-lead{min-height:clamp(730px,95svh,1100px)}
/* 2 — Confident corporate / digital / industrial split-stage */
.preset-capital .p-hero-lead,.preset-industrial .p-hero-lead,.preset-studio .p-hero-lead,.preset-product .p-hero-lead{background:#101e2d}
.preset-capital .p-hero-photo,.preset-industrial .p-hero-photo,.preset-studio .p-hero-photo,.preset-product .p-hero-photo{left:46%;width:54%}
.preset-capital .p-hero-tone,.preset-industrial .p-hero-tone,.preset-studio .p-hero-tone,.preset-product .p-hero-tone{background:linear-gradient(90deg,#0e2034 0%,#0e2034 38%,rgba(14,32,52,.55) 59%,transparent 86%)}
.preset-capital .p-hero-copy,.preset-industrial .p-hero-copy,.preset-studio .p-hero-copy,.preset-product .p-hero-copy{max-width:580px}
.preset-capital .p-hero-copy h1{font-size:clamp(3.5rem,5.8vw,7.2rem);letter-spacing:-.075em;line-height:.98;font-weight:580}
.preset-studio .p-hero-lead{background:#0c0d12}
.preset-studio .p-hero-tone{background:linear-gradient(90deg,#151720 0%,#151720 36%,rgba(19,21,30,.52) 61%,transparent)}
.preset-studio .p-hero-copy h1{font-size:clamp(3.8rem,6.6vw,7.8rem);font-weight:650}
.preset-industrial .p-hero-lead{background:#17242b}
.preset-industrial .p-hero-tone{background:linear-gradient(90deg,#182b33 0%,#182b33 35%,rgba(24,43,51,.54) 61%,transparent)}
.preset-industrial .p-hero-copy h1{font-size:clamp(3.5rem,6.1vw,7.7rem);font-weight:670}
.preset-product .p-hero-lead{background:#edece7;color:#171f27}
.preset-product .p-hero-tone{background:linear-gradient(90deg,#f2f2ed 1%,#f2f2ed 39%,rgba(242,242,237,.5) 66%,transparent)}
.preset-product .p-button-main{background:#171f27;color:#fff!important}
.preset-product .p-hero-kicker{color:#51615f!important}
.preset-product .p-hero-description{color:#3c4449!important}
/* 3 — Patient-centered, educational, social and public service split layouts */
.preset-care .p-hero,.preset-academic .p-hero,.preset-impact .p-hero{background:#f2f5f2;color:#17332f}
.preset-care .p-hero-photo,.preset-academic .p-hero-photo,.preset-impact .p-hero-photo{left:50%;right:4%;width:46%;top:7%;bottom:7%;border-radius:25px;box-shadow:0 25px 60px rgba(10,39,33,.11)}
.preset-care .p-hero-tone,.preset-academic .p-hero-tone,.preset-impact .p-hero-tone{background:linear-gradient(90deg,#f4f7f3 0%,#f4f7f3 45%,transparent 65%)}
.preset-care .p-hero-copy,.preset-academic .p-hero-copy,.preset-impact .p-hero-copy{max-width:610px}
.preset-care .p-hero-copy h1,.preset-academic .p-hero-copy h1,.preset-impact .p-hero-copy h1{font-size:clamp(3.7rem,6vw,7.1rem);font-weight:540;letter-spacing:-.067em}
.preset-care .p-hero-kicker,.preset-academic .p-hero-kicker,.preset-impact .p-hero-kicker{color:var(--accent)!important}
.preset-care .p-hero-description,.preset-academic .p-hero-description,.preset-impact .p-hero-description{color:#495b59!important}
.preset-care .p-button-main,.preset-academic .p-button-main,.preset-impact .p-button-main{background:#1e483d;color:white!important}
.preset-academic .p-hero{background:#f2f5fc;color:#172e4c}
.preset-academic .p-hero-tone{background:linear-gradient(90deg,#f3f5fb 0%,#f3f5fb 45%,transparent 65%)}
.preset-academic .p-button-main{background:#18395e}
.preset-impact .p-hero{background:#eff4e9;color:#193f30}
.preset-impact .p-hero-tone{background:linear-gradient(90deg,#eff4e9 0%,#eff4e9 45%,transparent 65%)}
/* 4 — Government civic digital service discovery */
.preset-civic .p-header{background:#112f61;color:white;border:0}
.preset-civic .brand-period{color:#8db3fb}
.preset-civic .p-hero{background:#113a75;color:white}
.preset-civic .p-hero-photo{left:48%;width:52%}
.preset-civic .p-hero-tone{background:linear-gradient(90deg,#143e7c 0%,#143e7c 40%,rgba(20,62,124,.47) 62%,transparent 87%)}
.preset-civic .p-hero-copy{max-width:615px}
.preset-civic .p-hero-copy h1{font-size:clamp(3.8rem,6.4vw,7.8rem);font-weight:610;letter-spacing:-.065em}
.preset-civic .p-header-cta{background:#fff;color:#12366c;border:0}
.preset-civic .p-button-main{background:#fff;color:#103869!important}
/* Subordinate page heroes stay compact and purposeful */
.p-hero-inner{min-height:440px!important}
.p-hero-inner .p-hero-wrap{padding-top:95px;padding-bottom:100px}
.p-hero-inner .p-hero-copy{max-width:700px}
.p-hero-inner .p-hero-photo{left:auto;right:0;top:0;bottom:0;width:54%;border-radius:0;box-shadow:none}
.p-hero-inner .p-hero-tone{background:linear-gradient(90deg,rgba(15,29,44,.94),rgba(15,29,44,.85) 44%,rgba(15,29,44,.19))}
.p-hero-inner .p-hero-copy h2{font:500 clamp(3.2rem,5vw,5.8rem)/.99 var(--sans);letter-spacing:-.065em;color:white}
.p-hero-inner .p-hero-kicker,.p-hero-inner .p-hero-description{color:white!important}
.p-hero-inner .p-button-main{background:white;color:#162536!important}
.p-hero-inner .p-hero-copy{color:white}
.p-hero-inner .p-scroll-prompt{display:none}
/* Global photographic editorial elements */
.p-statement{padding:clamp(80px,10vw,160px) 0;background:#f8f8f5}
.p-statement-inner{display:grid;grid-template-columns:minmax(140px,.43fr) minmax(0,1.5fr) minmax(180px,.55fr);align-items:start;gap:35px}
.p-statement-label{font-size:.69rem;letter-spacing:.16em;text-transform:uppercase;font-weight:740;display:flex;gap:12px;align-items:center;color:var(--accent)}
.p-statement-label span{font-size:1.3rem}
.p-statement h2{font:400 clamp(2.5rem,4.6vw,5.5rem)/1.06 var(--serif);letter-spacing:-.032em;margin:0}
.p-statement p{font-size:1rem;max-width:300px;padding-top:15px}
.p-gallery-section,.p-process,.p-catalog{padding:clamp(90px,10vw,156px) 0}
.p-gallery-section:nth-child(even),.p-process{background:#f8f9f8}
.p-section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:0 0 47px}
.p-section-heading>div{max-width:780px}
.p-section-heading h2{font-size:clamp(2.7rem,4vw,4.8rem);max-width:840px}
.p-section-heading>p{max-width:340px;font-size:1rem;line-height:1.75;margin:0 0 6px}
.p-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(13px,2vw,28px)}
.p-photo-card{min-width:0;display:flex;flex-direction:column;background:transparent}
.p-card-image{position:relative;overflow:hidden;aspect-ratio:1.08;background:#e8e9e8}
.p-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.p-photo-card:hover img{transform:scale(1.035)}
.p-card-count{position:absolute;top:17px;left:17px;display:grid;place-items:center;min-width:43px;height:39px;background:#fff;color:#162332;font-size:.75rem;font-weight:750}
.p-card-body{display:flex;flex-direction:column;gap:8px;padding:25px 6px 8px;flex:1}
.p-card-eyebrow{font-size:.64rem!important;font-weight:760!important;letter-spacing:.17em!important;color:var(--accent)!important;margin:0 0 4px!important}
.p-card-body h3{font-size:clamp(1.4rem,2vw,2.35rem);line-height:1.17;font-weight:540;letter-spacing:-.045em}
.p-card-body p{font-size:.91rem;line-height:1.78;min-height:45px;margin:5px 0 14px}
.p-card-action{margin-top:auto;padding:8px 0;display:inline-flex;gap:20px;font-weight:740;font-size:.8rem}
.p-editorial{background:#f4f4f0}
.p-editorial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.p-editorial-media{position:relative;min-height:690px;background:#ecefe9}
.p-editorial-media picture,.p-editorial-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.p-editorial-image-label{position:absolute;bottom:32px;left:clamp(24px,5vw,70px);font-size:.65rem;letter-spacing:.17em;font-weight:740;color:white;text-shadow:0 2px 12px #000b}
.p-editorial-image-label span{opacity:.75}
.p-editorial-copy{padding:clamp(60px,8vw,128px) clamp(26px,7vw,140px) clamp(60px,7vw,120px) clamp(30px,6vw,110px);align-self:center}
.p-editorial-copy h2{font-size:clamp(3rem,4vw,5rem);line-height:1.06}
.p-editorial-copy>.p-lead{margin:24px 0;font-size:1.03rem;line-height:1.8}
.p-editorial-list{list-style:none;margin:32px 0;padding:0}
.p-editorial-list li{display:flex;gap:20px;border-top:1px solid var(--hairline);padding:18px 0}
.p-editorial-list li>span{font-size:.7rem;color:var(--accent);font-weight:780;min-width:24px}
.p-editorial-list h3{font-size:1.05rem;margin:0 0 6px;font-weight:740;letter-spacing:-.02em}
.p-editorial-list p{font-size:.86rem;line-height:1.65;margin:0}
.p-plain-link{border-color:var(--accent);color:var(--accent)!important}
.p-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hairline)}
.p-steps article{padding:35px 35px 0 0}
.p-steps article+article{border-left:1px solid var(--hairline);padding-left:35px}
.p-steps article>span{display:block;font-size:clamp(3.4rem,7vw,7rem);line-height:.96;letter-spacing:-.09em;color:var(--accent);font-weight:450;margin-bottom:65px}
.p-steps h3{font-size:1.5rem;font-weight:620;margin:0 0 11px}
.p-steps p{font-size:.93rem;line-height:1.8}
.p-faq{padding:clamp(90px,10vw,160px) 0;background:#f5f6f3}
.p-faq-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,8vw,130px)}
.p-faq h2{font-size:clamp(2.8rem,4.2vw,5.4rem);margin-bottom:25px}
.p-faq .p-accordion{border-top:1px solid var(--hairline)}
.p-accordion details{border-bottom:1px solid var(--hairline)}
.p-accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:1rem;font-weight:650}
.p-accordion summary::-webkit-details-marker{display:none}
.p-accordion summary span{font-size:1.5rem;font-weight:400;color:var(--accent);transition:transform .2s}
.p-accordion details[open] summary span{transform:rotate(45deg)}
.p-accordion details p{padding:0 30px 22px 0;font-size:.92rem;line-height:1.85}
.p-callout{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;color:white;background:#152532;overflow:hidden}
.p-callout-bg{position:absolute;z-index:-2;inset:0}
.p-callout-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,32,.9),rgba(8,23,32,.56)),linear-gradient(0deg,#071d30aa,transparent)}
.p-callout-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.p-callout-inner{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:90px;padding-bottom:90px}
.p-callout h2{font-size:clamp(3rem,5.2vw,6rem);max-width:790px;line-height:1.02}
.p-callout h2,.p-callout .p-kicker{color:white!important}
.p-callout p:not(.p-kicker){max-width:680px;color:#e5ecee;font-size:1.06rem}
.p-button-white{color:#172332!important;background:#fff;flex-shrink:0}
.p-catalog{background:#f8f8f6}
.p-empty-catalog{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;background:#fff}
.p-empty-photo{height:380px;overflow:hidden}
.p-empty-photo img{width:100%;height:100%;object-fit:cover}
.p-empty-catalog>div:last-child{padding:clamp(32px,6vw,95px)}
.p-empty-catalog h3{font-size:clamp(2rem,3vw,3.6rem);font-weight:560}
.p-empty-catalog p{font-size:.99rem;max-width:480px}
.p-compliance{padding-top:19px;font-size:.74rem;letter-spacing:.015em}
.p-contact{padding:clamp(90px,10vw,160px) 0;background:#f5f7f7}
.p-contact-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(50px,8vw,130px)}
.p-contact h2{font-size:clamp(3rem,4.3vw,5.5rem);margin-bottom:22px}
.p-lead{font-size:1.09rem;line-height:1.82}
.p-contact-disclaimer{margin-top:37px;background:#fff;border-left:3px solid var(--accent);padding:20px 24px;font-size:.86rem;color:#54636a;line-height:1.65}
.p-contact-cards{display:grid;gap:0;align-content:start}
.p-contact-cards article{display:grid;grid-template-columns:38px 1fr auto;gap:15px;padding:23px 0;border-bottom:1px solid var(--hairline)}
.p-contact-cards article:first-child{border-top:1px solid var(--hairline)}
.p-contact-cards article>span{font-size:.72rem;color:var(--accent);font-weight:780}
.p-contact-cards h3{font-size:1.2rem;font-weight:630;margin:0 0 4px}
.p-contact-cards p{margin:0;font-size:.85rem}
.p-contact-cards b{font-size:1rem;font-weight:400}
.p-article{padding:clamp(85px,9vw,155px) 0}
.p-article-layout{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1.7fr);gap:40px}
.p-article aside{color:var(--accent);font-size:.7rem;letter-spacing:.15em;font-weight:720;display:flex;gap:16px;align-items:start}
.p-article-index{font-size:2rem;line-height:1}
.p-article h2{font-size:clamp(2.9rem,4.5vw,5.2rem);margin-bottom:25px}
.p-article article p{max-width:980px;font-size:1.09rem;line-height:1.95;white-space:pre-line}
.p-article-photo{margin-top:29px;width:100%;max-height:610px;object-fit:cover}
.p-footer{background:#101a23;color:white;padding:80px 0 24px}
.p-footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:65px}
.p-footer-brand{font-size:clamp(1.5rem,2.7vw,2.8rem);font-weight:570;letter-spacing:-.055em}
.p-footer-brand span{color:#c3b6a0}
.p-footer-top p{max-width:470px;color:#aab5bd;margin:19px 0 0}
.p-footer nav{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:14px 55px}
.p-footer nav a{font-size:.84rem;color:#d9e0e5}
.p-footer nav a:hover{text-decoration:underline}
.p-footer-bottom{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #ffffff25;padding-top:25px;font-size:.72rem;color:#a8b6bc}
.p-civic-services{background:#f1f5fb;padding:clamp(75px,8vw,125px) 0}
.p-civic-intro{display:flex;gap:60px;justify-content:space-between;align-items:end;margin-bottom:36px}
.p-civic-intro h2{font-size:clamp(2.7rem,4vw,5.1rem);max-width:770px}
.p-civic-intro>p{max-width:400px;font-size:.98rem}
.p-civic-services label{display:block;font-size:.73rem;font-weight:780;letter-spacing:.035em;margin-bottom:9px}
.p-civic-search{display:flex;align-items:center;gap:18px;border:1px solid #c9d4e2;background:#fff;padding:0 22px;height:70px;margin-bottom:32px;box-shadow:0 15px 33px rgba(26,52,89,.05)}
.p-civic-search>span:first-child{font-size:2rem;color:#173a6a}
.p-civic-search input{width:100%;height:100%;border:0;outline:none;color:#1a3149;font-size:1rem;min-width:0}
.p-civic-search input:focus{outline:none}
.p-civic-search:focus-within{outline:3px solid #8daee0}
.search-shortcut{font-size:.63rem;letter-spacing:.1em;color:#657f9b;font-weight:760}
.p-civic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.p-civic-card{background:#fff;padding:24px;min-height:136px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;border:1px solid #dce5ef;transition:transform .2s,box-shadow .2s}
.p-civic-card:hover{transform:translateY(-3px);box-shadow:0 15px 33px rgba(25,52,88,.07)}
.p-civic-card>span:nth-child(2){font-size:1.13rem;font-weight:710;letter-spacing:-.03em}
.p-civic-card>b{align-self:end;margin-top:-38px;font-size:1.3rem;font-weight:400}
.p-civic-number{font-size:.69rem;color:#3566a2;letter-spacing:.05em;font-weight:760}
.p-empty-search{font-size:.92rem;margin-top:20px}
@media(max-width:1280px){.p-nav{display:none}.p-header-cta{margin-left:auto}.p-mobile-menu{display:block;position:relative}
.p-mobile-menu summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none;border:1px solid currentColor;padding:10px 14px;font-size:.8rem;font-weight:720}
.p-mobile-menu summary::-webkit-details-marker{display:none}.hamburger{display:grid;gap:5px}
.hamburger i{width:21px;height:2px;display:block;background:currentColor}
.p-mobile-menu nav{position:absolute;right:0;top:calc(100% + 14px);width:min(330px,85vw);padding:12px;display:grid;background:#fff;border:1px solid #cbd5df;box-shadow:0 22px 40px rgba(15,31,53,.18);max-height:74vh;overflow-y:auto}
.p-mobile-menu nav a{padding:11px 12px;color:#192638;font-size:.91rem;font-weight:670}
.p-mobile-menu nav a:hover{background:#eff3f6}
}
@media(max-width:1000px){
 .p-hero-lead{min-height:690px}
 .p-hero-copy h1{font-size:clamp(3.4rem,7vw,6.3rem)}
 .p-hero-wrap{padding-block:110px 94px}
 .p-hero-index{display:none}
 .p-gallery-section,.p-process,.p-catalog,.p-contact,.p-faq{padding-block:85px}
 .p-photo-grid{gap:16px}
 .p-section-heading{gap:35px}
 .p-editorial-media{min-height:580px}
 .p-editorial-copy{padding:60px 45px}
 .p-statement-inner{grid-template-columns:minmax(0,.4fr) minmax(0,1fr)}.p-statement p{grid-column:2}
 .p-faq-layout,.p-contact-grid{gap:50px}
}
@media(max-width:760px){
 :root{--gut:20px}
 .preview-banner{font-size:.62rem}.preview-banner span:last-child{display:none}
 .p-header-inner{min-height:67px}.p-brand{font-size:1.42rem;max-width:55vw}
 .p-header-cta{display:none}.p-mobile-menu{margin-left:auto}
 .p-hero-lead{min-height:0;display:flex;flex-direction:column}
 .p-hero-photo{position:relative;z-index:0;width:100%!important;left:0!important;right:0!important;top:0!important;bottom:auto!important;height:clamp(340px,59svh,560px)!important;border-radius:0!important;box-shadow:none!important}
 .p-hero-photo picture{height:100%}
 .p-hero-tone{display:none}
 .p-hero-wrap{display:block;padding-top:53px;padding-bottom:65px;min-height:0}
 .p-hero-copy{max-width:100%!important}
 .p-hero-copy h1{font-size:clamp(3.15rem,11.6vw,5.3rem)!important;line-height:.98;margin-bottom:22px}
 .p-hero-copy h2{font-size:clamp(2.8rem,8vw,4.8rem)!important}
 .p-hero-description{max-width:600px;font-size:1.04rem!important}
 .p-hero-index,.p-scroll-prompt{display:none}
 .photo-overlay-header .p-header{position:sticky;background:#fff;color:#172632;border-bottom:1px solid #dae1e6}
 .photo-overlay-header .brand-period{color:var(--accent)}
 .photo-overlay-header .p-header-cta{display:none}
 .photo-overlay-header .p-hero-lead .p-hero-wrap{padding-top:53px}
 .preset-atelier .p-hero,.preset-escape .p-hero,.preset-motion .p-hero,.preset-spaces .p-hero{background:#f6f3ee;color:#1d262a}
 .preset-atelier .p-hero-copy h1,.preset-escape .p-hero-copy h1,.preset-spaces .p-hero-copy h1{font-size:clamp(4rem,13vw,6rem)!important}
 .preset-capital .p-hero,.preset-industrial .p-hero,.preset-studio .p-hero{background:#132437;color:white}
 .preset-product .p-hero{background:#f2f2ed;color:#172532}
 .preset-care .p-hero,.preset-academic .p-hero,.preset-impact .p-hero{background:#f3f6f2;color:#16332d}
 .preset-civic .p-hero{background:#12396e;color:white}
 .p-hero-lead .p-hero-photo{order:0}
 .p-hero-lead .p-hero-wrap{order:1}
 .p-hero-inner{min-height:0!important}
 .p-hero-inner .p-hero-photo{height:310px!important}
 .p-hero-inner .p-hero-wrap{padding-block:48px 60px}
 .p-hero-inner .p-hero-copy h2{color:inherit;font-size:clamp(2.8rem,8vw,4.5rem)}
 .p-hero-inner .p-hero-kicker,.p-hero-inner .p-hero-description{color:inherit!important}
 .p-hero-inner .p-button-main{background:#172637;color:white!important}
 .p-hero-actions{gap:17px}
 .p-section-heading,.p-civic-intro{display:block}.p-section-heading>p,.p-civic-intro>p{margin-top:19px;max-width:650px}
 .p-section-heading h2,.p-civic-intro h2{font-size:clamp(2.65rem,8vw,4.8rem)}
 .p-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p-editorial-grid{grid-template-columns:1fr}
 .p-editorial-media{min-height:510px}
 .p-editorial-copy{padding:65px var(--gut)}
 .p-callout-inner{display:block}
 .p-callout .p-button{margin-top:19px}
 .p-faq-layout,.p-contact-grid{grid-template-columns:1fr}
 .p-steps{grid-template-columns:1fr}
 .p-steps article{padding:30px 0;border:0!important;border-top:1px solid var(--hairline)!important}
 .p-steps article>span{margin-bottom:22px;font-size:3.9rem}
 .p-empty-catalog{grid-template-columns:1fr}
 .p-empty-photo{height:310px}
 .p-statement-inner{display:block}
 .p-statement h2{margin:25px 0}
 .p-civic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .p-footer-top{display:block}.p-footer nav{margin-top:40px}
}
@media(max-width:480px){
 :root{--gut:17px}
 .p-hero-photo{height:clamp(330px,50svh,460px)!important}
 .p-hero-copy h1{font-size:clamp(3rem,12vw,4.4rem)!important}
 .preset-atelier .p-hero-copy h1,.preset-escape .p-hero-copy h1,.preset-spaces .p-hero-copy h1{font-size:clamp(3.75rem,13.5vw,4.9rem)!important}
 .p-hero-copy h2{font-size:clamp(2.7rem,11vw,4rem)!important}
 .p-hero-wrap{padding-block:40px 55px}
 .p-hero-actions{flex-direction:column;align-items:stretch}
 .p-hero-actions .p-button,.p-hero-actions .p-text-link{justify-content:space-between;width:100%}
 .p-section-heading h2,.p-civic-intro h2{font-size:clamp(2.5rem,10vw,3.4rem)}
 .p-photo-grid,.p-civic-grid{grid-template-columns:1fr}
 .p-card-image{aspect-ratio:1.34}
 .p-card-body{padding:20px 3px 32px}
 .p-photo-grid{gap:24px}
 .p-gallery-section,.p-process,.p-catalog,.p-faq,.p-contact{padding-block:69px}
 .p-editorial-media{min-height:430px}
 .p-editorial-copy{padding:58px var(--gut)}
 .p-editorial-copy h2{font-size:clamp(2.9rem,10vw,4.2rem)}
 .p-callout-inner{padding-block:76px}
 .p-callout h2{font-size:clamp(2.8rem,10.5vw,4.5rem)}
 .p-contact h2,.p-faq h2{font-size:clamp(2.8rem,10vw,4.3rem)}
 .p-article-layout{display:block}.p-article aside{margin-bottom:28px}
 .p-article h2{font-size:clamp(2.7rem,10vw,4rem)}
 .p-footer{padding-top:62px}
 .p-footer nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 .p-footer-bottom{display:block}
 .p-footer-bottom span{display:block;margin-top:8px}
 .p-civic-search{height:60px;padding-inline:15px}
 .search-shortcut{display:none}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{
 .preview-banner,.p-header,.p-mobile-menu,.p-scroll-prompt,.p-hero-actions{display:none!important}
 body.premium-r4{color:black;background:white}
 .p-hero,.p-callout,.p-footer{background:white!important;color:black!important;min-height:0!important}
 .p-hero-photo,.p-callout-bg{display:none!important}
 .p-hero-tone{display:none!important}
 .p-photo-card,.p-editorial,.p-steps article{break-inside:avoid}
}
