*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.04;letter-spacing:-.025em;margin:0 0 .7em}h1{font-size:clamp(3.1rem,7vw,7.4rem);max-width:11ch}h2{font-size:clamp(2.35rem,4.8vw,5rem);max-width:12ch}h3{font-size:clamp(1.35rem,2.4vw,2rem)}p{margin:0 0 1.25em}.shell{width:min(1180px,calc(100% - 44px));margin:auto}.narrow{width:min(780px,100%)}.section{padding:clamp(74px,10vw,132px) 0}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--secondary);margin-bottom:18px}.lead{font-size:clamp(1.08rem,1.6vw,1.35rem);color:var(--muted);max-width:670px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;background:var(--primary);color:var(--primary-text);font-weight:800;border:1px solid var(--primary);transition:.25s transform,.25s opacity,.25s background}.btn:hover{transform:translateY(-2px)}.btn-small{min-height:44px;padding:0 18px;font-size:.9rem}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{font-weight:800;text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:5px}.skip-link{position:fixed;left:12px;top:-60px;background:var(--primary);color:var(--primary-text);padding:10px 14px;z-index:9999}.skip-link:focus{top:12px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:var(--header-bg);backdrop-filter:blur(18px);border-color:var(--line)}.site-header.hide{transform:translateY(-100%)}.header-inner{height:88px;display:flex;align-items:center;gap:28px}.site-brand{display:flex;align-items:center;min-width:0;font-family:Georgia,serif;font-size:1.2rem;font-weight:700}.site-brand img,.brand-logo,.custom-logo-link img{width:auto;max-width:clamp(150px,18vw,265px);max-height:58px;object-fit:contain}.ds-wordmark{display:flex;gap:8px;align-items:center}.ds-heel{color:var(--primary)}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;list-style:none;gap:22px;margin:0;padding:0;align-items:center}.primary-nav a{font-size:.92rem;font-weight:700}.primary-nav a:hover{color:var(--primary)}.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:10px}.menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;background:var(--ink);margin:5px}.hero{min-height:850px;padding:150px 0 80px;display:flex;align-items:center;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:var(--primary);filter:blur(150px);opacity:.08;right:-240px;top:40px}.hero-grid,.inner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.hero-copy h1 em{font-weight:400;color:var(--primary)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.trust-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.88rem}.trust-row span:before{content:"●";color:var(--secondary);margin-right:8px}.hero-art img{border-radius:36px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.logo-strip{border-block:1px solid var(--line);padding:24px 0;color:var(--muted)}.logo-strip .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.logo-strip p{margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.strip-items{display:flex;gap:28px;flex-wrap:wrap;font-size:.88rem}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:52px}.section-head>p{max-width:430px;color:var(--muted)}.card-grid{display:grid;gap:18px}.services-grid{grid-template-columns:repeat(4,1fr)}.service-card,.post-card{padding:28px;border:1px solid var(--line);background:var(--panel);border-radius:22px;transition:.25s transform,.25s border-color}.service-card:hover,.post-card:hover{transform:translateY(-5px);border-color:var(--primary)}.service-card p,.post-card p{color:var(--muted)}.card-index{font-size:.74rem;color:var(--secondary);font-weight:900}.editorial-band{background:var(--panel)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.stat-stack{display:grid;gap:10px}.stat-stack div{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px;border-bottom:1px solid var(--line)}.stat-stack strong{color:var(--primary);font-size:1.4rem}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:46px 24px}.work-visual{display:block;overflow:hidden;border-radius:26px;background:var(--panel)}.work-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.5s transform}.work-card:hover .work-visual img{transform:scale(1.025)}.work-meta{display:flex;gap:8px;justify-content:space-between;margin:16px 0 10px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.work-card h3,.work-card h2{font-size:clamp(1.55rem,2.5vw,2.35rem);margin-bottom:8px}.work-card p{color:var(--muted)}.process-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.process-grid>div{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.process-grid b{color:var(--primary)}.process-grid p{color:var(--muted)}.testimonial-wrap{text-align:center}.testimonial-wrap blockquote{font-family:Georgia,serif;font-size:clamp(2rem,4.6vw,4.4rem);line-height:1.08;margin:20px auto;max-width:1000px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;color:var(--secondary)}.faq-list{max-width:900px}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-family:Georgia,serif;font-size:1.35rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details div{color:var(--muted);max-width:760px;padding:0 0 24px}.cta-band{padding:70px 0;background:var(--primary);color:var(--primary-text)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner .eyebrow{color:inherit;opacity:.72}.cta-inner h2{margin-bottom:14px}.cta-inner p{max-width:650px;opacity:.8}.cta-inner .btn{background:var(--bg);color:var(--ink);border-color:var(--bg)}.inner-hero,.case-hero,.article-hero{padding:180px 0 90px;border-bottom:1px solid var(--line)}.inner-hero.compact{padding-bottom:72px}.inner-grid img{border-radius:28px;max-height:520px;width:100%;object-fit:cover}.prose-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:80px;align-items:start}.prose h2{font-size:clamp(2rem,3.5vw,3.2rem);margin-top:1.7em}.prose h3{margin-top:1.6em}.prose p,.prose li{color:var(--muted);font-size:1.05rem}.prose ul,.prose ol{padding-left:1.3em}.prose a{color:var(--primary);text-decoration:underline}.side-cta{position:sticky;top:120px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:22px}.side-cta p{color:var(--muted)}.case-meta{display:flex;gap:40px;flex-wrap:wrap;margin-top:40px}.case-meta span{display:grid;gap:5px;color:var(--muted)}.case-meta b{color:var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.case-visual{padding:50px 0}.case-visual img{border-radius:30px;width:100%;max-height:720px;object-fit:cover}.article-hero h1{max-width:13ch}.studio-form{margin-top:35px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--panel)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid label>span{color:var(--primary)}.form-grid input,.form-grid textarea,.form-grid select,.search-form input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:14px 15px;outline:none}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.search-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.span-2{grid-column:1/-1}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start}.check input{width:18px;margin-top:4px}.hp{position:absolute;left:-9999px}.form-alert{padding:14px 18px;border-radius:12px;margin-bottom:18px}.form-alert.success{background:color-mix(in srgb,var(--secondary) 18%,var(--panel));border:1px solid var(--secondary)}.form-alert.error{background:color-mix(in srgb,var(--primary) 18%,var(--panel));border:1px solid var(--primary)}.contact-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.contact-facts div{display:grid;padding:18px;border:1px solid var(--line);border-radius:14px}.contact-facts span{color:var(--muted)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.price-card{padding:24px;border:1px solid var(--line);background:var(--panel);border-radius:18px}.search-form{display:flex;gap:10px;max-width:650px;margin-top:24px}.error-page{padding:220px 0 140px}.ds-sitemap{columns:2;column-gap:70px}.ds-sitemap h2{break-after:avoid;font-size:2rem;margin-top:30px}.ds-sitemap ul{break-inside:avoid}.site-footer{padding:78px 0 24px;border-top:1px solid var(--line);background:var(--panel)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}.site-footer h3{font-size:1.1rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.site-footer a:hover{color:var(--primary)}.socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:50px;color:var(--muted);font-size:.85rem}.footer-brand{margin-bottom:20px}.reveal,.service-card,.work-card,.post-card,.process-grid>div{opacity:0;transform:translateY(18px);transition:.65s opacity,.65s transform}.in{opacity:1!important;transform:none!important}
@media(max-width:1050px){.services-grid{grid-template-columns:repeat(2,1fr)}.primary-nav ul{gap:14px}.header-cta{display:none}.hero-grid,.inner-grid{gap:36px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell{width:min(100% - 28px,1180px)}.header-inner{height:74px}.site-brand img,.brand-logo,.custom-logo-link img{max-height:48px;max-width:210px}.menu-toggle{display:block}.primary-nav{position:fixed;inset:74px 0 0;background:var(--bg);padding:28px;display:none;overflow:auto}.primary-nav.open{display:block}.primary-nav ul{display:grid;gap:0}.primary-nav li{border-bottom:1px solid var(--line)}.primary-nav a{display:block;padding:18px 0;font-size:1.15rem}.hero{min-height:auto;padding-top:130px}.hero-grid,.inner-grid,.split,.prose-layout{grid-template-columns:1fr}.hero-copy{order:1}.hero-art{order:2}.hero-art img{max-height:620px;object-fit:cover}.logo-strip .shell,.section-head,.cta-inner{align-items:flex-start;flex-direction:column;display:flex}.work-grid{grid-template-columns:1fr}.posts-grid{grid-template-columns:1fr}.prose-layout{gap:45px}.side-cta{position:static}.footer-grid{grid-template-columns:1fr 1fr}.form-grid,.contact-facts,.pricing-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.ds-sitemap{columns:1}.inner-hero,.case-hero,.article-hero{padding-top:140px}.case-meta{gap:18px}.strip-items{gap:12px 20px}}
@media(max-width:560px){h1{font-size:clamp(2.7rem,15vw,4.6rem)}h2{font-size:clamp(2.1rem,11vw,3.5rem)}.section{padding:72px 0}.services-grid,.process-grid,.footer-grid{grid-template-columns:1fr}.site-brand img,.brand-logo,.custom-logo-link img{max-width:170px;max-height:44px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.trust-row{display:grid;gap:8px}.studio-form{padding:18px}.work-meta{display:grid}.footer-bottom{flex-direction:column}.search-form{display:grid}.search-form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.service-card,.work-card,.post-card,.process-grid>div{opacity:1;transform:none}}

/* Responsive hardening v1.1 */
html,body{width:100%;max-width:100%;overflow-x:clip}
.site-main,.site-header,.site-footer,.shell,.hero-grid,.inner-grid,.split,.prose-layout,.card-grid,.services-grid,.work-grid,.posts-grid,.process-grid,.pricing-grid,.form-grid,.footer-grid{min-width:0}
.shell>* ,.hero-grid>* ,.inner-grid>* ,.split>* ,.prose-layout>* ,.card-grid>* ,.services-grid>* ,.work-grid>* ,.posts-grid>* ,.process-grid>* ,.pricing-grid>* ,.form-grid>* ,.footer-grid>*{min-width:0;max-width:100%}
h1,h2,h3,h4,p,li,a,span,strong{overflow-wrap:break-word;word-break:normal}
.prose img,.prose video,.prose iframe,.prose embed,.prose object{max-width:100%;height:auto}
.prose iframe{width:100%;aspect-ratio:16/9}
.prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;-webkit-overflow-scrolling:touch}
.prose pre,.prose code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
.services-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}
.service-card{min-width:0;width:100%;display:flex;flex-direction:column;overflow:hidden}
.service-card h2,.service-card h3{font-size:clamp(1.3rem,2vw,1.85rem);max-width:none}
.service-card .text-link{margin-top:auto}
.inner-hero .lead,.case-hero .lead,.article-hero .lead{max-width:62ch}
.prose{min-width:0;max-width:100%}
.prose>*,.prose ul,.prose ol{max-width:100%}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0}
.detail-card{padding:24px;border:1px solid var(--line);background:var(--panel);border-radius:18px;min-width:0}
.detail-card h3{margin-bottom:10px}.detail-card p{margin-bottom:0}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;padding:0!important;list-style:none}
.check-list li{position:relative;padding-left:24px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:900}
.content-callout{margin:34px 0;padding:28px;border-left:4px solid var(--primary);background:var(--panel);border-radius:0 18px 18px 0}
.content-callout h3{margin-bottom:8px}.content-callout p:last-child{margin-bottom:0}
.inner-support{margin-top:52px;padding-top:42px;border-top:1px solid var(--line)}
.inner-support h2{margin-top:0}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prose-layout{grid-template-columns:1fr;gap:40px}.side-cta{position:static;width:100%}}
@media(max-width:680px){.shell{width:min(100% - 24px,1180px)}.services-grid,.detail-grid,.check-list{grid-template-columns:1fr}.service-card{padding:22px}.inner-grid{gap:28px}.inner-grid img{max-height:420px}.inner-hero,.case-hero,.article-hero{padding-top:124px;padding-bottom:62px}.prose h2{font-size:clamp(1.8rem,9vw,2.65rem)}.prose h3{font-size:clamp(1.25rem,6vw,1.7rem)}.prose p,.prose li{font-size:1rem}.detail-card,.content-callout{padding:20px}}
@media(max-width:380px){.shell{width:min(100% - 18px,1180px)}.site-brand img,.brand-logo,.custom-logo-link img{max-width:145px}.service-card{padding:18px}.btn{width:100%;padding-inline:16px}.inner-hero,.case-hero,.article-hero{padding-top:116px}}
.location-share{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0}.location-share span{color:var(--muted);font-size:.9rem;line-height:1.5}.location-share .btn[disabled],.studio-form button[disabled]{opacity:.65;cursor:not-allowed}
@media(max-width:560px){.location-share{align-items:stretch}.location-share .btn{width:100%;justify-content:center}.location-share span{width:100%}}
