/* Round 3: keeps the editorial system while improving readability and density. */
:root{--section-spacing-large:82px;--section-spacing-medium:68px;--section-spacing-small:42px;--card-gap:16px;--content-gap:44px;--readable-muted:#665e57}body{line-height:1.65}.sv-shell{width:min(1320px,calc(100% - 56px))}.sv-kicker{font-size:11px;letter-spacing:.11em}.sv-navigation ul{gap:18px}.sv-navigation a{font-size:14px}.sv-nav-cta,.sv-button{font-size:14px}.sv-logo i{font-size:8px}.sv-section{padding:var(--section-spacing-large) 0}.sv-section-head{margin-bottom:var(--content-gap)}.sv-section-head>p:last-child,.sv-material-intro>p:not(.sv-kicker),.sv-process-top>p,.sv-inquiry-grid>div>p:not(.sv-kicker),.sv-faq-layout>div>p:not(.sv-kicker){color:var(--readable-muted);font-size:16px;line-height:1.65}.sv-hero-grid{grid-template-columns:44% 56%;min-height:600px}.sv-hero-copy{padding:64px 28px 58px 0}.sv-intro{max-width:440px;margin:30px 0 30px}.sv-hero-facts{margin-top:38px}.sv-hero-facts b{font-size:10px}.sv-hero-facts strong{font-size:14px}.sv-hero-visual{min-height:600px;aspect-ratio:1.08}.sv-hero-visual img{right:1.5%;bottom:2%;width:94%;height:94%;object-fit:contain!important;object-position:center 58%!important}.sv-proof-grid span{font-size:13px}.sv-category-grid{gap:var(--card-gap)}.sv-category-card{height:390px;min-height:0;box-shadow:none}.sv-card-media{height:auto;aspect-ratio:4/3}.sv-card-media img,.sv-factory-media img,.sv-project-media img{object-fit:cover}.sv-category-card>div:last-child{display:flex;min-height:150px;flex-direction:column;padding:16px 18px 17px}.sv-category-card h3{font-size:22px}.sv-category-card p{display:-webkit-box;overflow:hidden;margin-bottom:12px;color:var(--readable-muted);font-size:14px;line-height:1.52;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sv-category-card a{margin-top:auto;font-size:14px}.sv-capabilities{padding:72px 0}.sv-capability-layout{gap:64px}.sv-capability-title>p:not(.sv-kicker){font-size:16px}.sv-capability summary{min-height:78px}.sv-capability summary strong{font-size:24px}.sv-capability-content{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .24s ease,opacity .2s ease,padding .24s ease}.sv-capability[open] .sv-capability-content{max-height:250px;opacity:1;padding-bottom:20px}.sv-capability-content ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0;padding:0 0 0 70px;list-style:none}.sv-capability-content li{color:#ddd4ca;font-size:14px;line-height:1.48}.sv-capability-content li:before{content:'–';margin-right:7px;color:#e28b6c}.sv-materials{padding:66px 0}.sv-materials>.sv-shell{grid-template-columns:30% 70%;gap:42px}.sv-material-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sv-material{display:flex;min-height:272px;flex-direction:column;padding:10px 10px 15px}.sv-swatch{height:auto;aspect-ratio:4/3;margin-bottom:12px}.sv-reference-image{display:block;width:100%;height:100%;object-fit:cover}.sv-material h3{font-size:19px;line-height:1.25}.sv-material p{display:-webkit-box;overflow:hidden;margin-top:5px;color:var(--readable-muted);font-size:14px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sv-craft{padding-bottom:64px}.sv-factory-grid{gap:14px}.sv-factory-media{height:auto;aspect-ratio:4/3}.sv-factory-media i{font-size:38px}.sv-factory-slot figcaption{font-size:14px}.sv-quality-note{font-size:14px}.sv-process{padding:68px 0}.sv-process-top{margin-bottom:32px}.sv-process ol{grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #cfc6bb}.sv-process li{display:flex;min-height:176px;flex-direction:column;padding:19px 20px;border-bottom:1px solid #d4ccc3}.sv-process li:nth-child(3n){border-right:0}.sv-process li>span{font-size:14px;font-weight:700}.sv-process h3{margin:17px 0 8px;font-size:21px}.sv-process li p{color:var(--readable-muted);font-size:15px;line-height:1.55}.sv-projects{padding:74px 0}.sv-project-media{height:auto;aspect-ratio:4/3}.sv-project-card>div:last-child{min-height:145px;padding:17px 19px}.sv-example-note{font-size:11px!important}.sv-project-card h3{font-size:24px}.sv-project-card p{font-size:14px;line-height:1.55}.sv-client-types{padding:52px 0}.sv-client-types>.sv-shell{gap:54px}.sv-client-types>div>p:not(.sv-kicker),.sv-client-grid p{color:#d4cbc0;font-size:14px}.sv-client-grid article{padding:17px 20px}.sv-client-grid h3{font-size:21px}.sv-faq{padding:70px 0}.sv-faq-layout{grid-template-columns:30% 70%;gap:42px}.sv-faq-list summary{min-height:64px;font-size:17px}.sv-faq-list details p{color:var(--readable-muted);font-size:16px;line-height:1.65}.sv-inquiry{padding:68px 0}.sv-inquiry-grid{gap:64px}.sv-inquiry li{font-size:14px}.sv-form{gap:16px;padding:22px}.sv-form label{font-size:14px}.sv-form label>small{font-size:13px;color:#655d56}.sv-form em{font-size:11px}.sv-form-row{gap:15px}.sv-form input,.sv-form select,.sv-form textarea{min-height:46px;font-size:16px}.sv-form textarea{min-height:108px}.sv-optional-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sv-optional-details summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;font-size:14px;font-weight:700;list-style:none}.sv-optional-details summary::-webkit-details-marker{display:none}.sv-optional-details summary span{color:var(--clay);font-size:20px;transition:transform .2s}.sv-optional-details[open] summary span{transform:rotate(45deg)}.sv-optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:4px 0 17px}.sv-footer{padding-top:46px}.sv-footer a:not(.sv-logo),.sv-footer>div p{font-size:13px}.sv-legal{margin-top:26px}.sv-floating-contact{display:none}
@media(max-width:1080px){.sv-header{height:72px}.sv-header.is-compact{height:64px}.sv-navigation{display:none;position:absolute;top:72px;left:0;right:0;margin:0;background:#faf8f4;border-bottom:1px solid var(--line);box-shadow:0 10px 22px rgba(48,38,29,.06)}.sv-navigation.is-open{display:block}.sv-navigation ul{display:grid;gap:0;padding:8px 28px}.sv-navigation li{border-bottom:1px solid var(--line)}.sv-navigation a{min-height:46px;font-size:15px}.sv-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;border:0;background:transparent;color:var(--ink);font:600 12px var(--mono);letter-spacing:.08em}.sv-nav-cta{margin-left:0}.sv-hero-grid{grid-template-columns:45% 55%}.sv-hero-copy{padding-right:18px}.sv-proof-grid{grid-template-columns:repeat(3,1fr)}.sv-proof-grid div:nth-child(4){border-left:0}.sv-materials>.sv-shell{grid-template-columns:1fr;gap:28px}.sv-material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sv-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-process li:nth-child(3n){border-right:1px solid #d4ccc3}.sv-process li:nth-child(2n){border-right:0}.sv-inquiry-grid{gap:42px}.sv-faq-layout{gap:30px}}
@media(max-width:760px){.sv-shell{width:calc(100% - 36px)}.sv-header,.sv-header.is-compact{height:68px}.sv-navigation{top:68px}.sv-navigation ul{padding:8px 18px}.sv-nav-cta{display:none}.sv-hero-grid{grid-template-columns:1fr;min-height:auto}.sv-hero-copy{padding:54px 0 30px}.sv-intro{max-width:34rem;margin:26px 0}.sv-hero-visual{min-height:370px;aspect-ratio:1.15}.sv-hero-visual img{right:0;bottom:0;width:100%;height:100%;object-fit:contain!important;object-position:center 56%!important}.sv-hero-visual p{display:none}.sv-hero-facts{margin-top:30px}.sv-section{padding:62px 0}.sv-category-grid{grid-template-columns:1fr 1fr}.sv-category-card{height:360px}.sv-category-card h3{font-size:20px}.sv-capabilities{padding:62px 0}.sv-capability-layout,.sv-inquiry-grid,.sv-client-types>.sv-shell,.sv-faq-layout{grid-template-columns:1fr;gap:32px}.sv-capability-content ul{grid-template-columns:1fr;padding-left:0}.sv-capability[open] .sv-capability-content{max-height:380px}.sv-materials{padding:56px 0}.sv-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-material{min-height:255px}.sv-factory-grid{grid-template-columns:1fr 1fr}.sv-process{padding:58px 0}.sv-process ol{grid-template-columns:1fr}.sv-process li,.sv-process li:nth-child(3n),.sv-process li:nth-child(2n){min-height:0;border-right:0;border-bottom:1px solid #d4ccc3}.sv-process li:last-child{border-bottom:0}.sv-process li>span{font-size:15px}.sv-projects,.sv-faq{padding:60px 0}.sv-project-grid{grid-template-columns:1fr}.sv-client-types{padding:48px 0}.sv-faq-layout{gap:25px}.sv-inquiry{padding:60px 0}.sv-form{padding:19px}.sv-form-row,.sv-optional-grid{grid-template-columns:1fr}.sv-floating-contact{display:flex;position:fixed;right:14px;bottom:14px;z-index:60}.sv-floating-contact a{min-height:44px;padding:12px 15px;background:var(--dark);color:#fff;font-size:14px;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.16)}}
@media(max-width:430px){.sv-shell{width:calc(100% - 30px)}.sv-logo i{font-size:7px}.sv-category-grid,.sv-factory-grid,.sv-material-grid{grid-template-columns:1fr}.sv-category-card{height:385px}.sv-card-media{aspect-ratio:4/3}.sv-material{min-height:0}.sv-swatch{aspect-ratio:16/10}.sv-proof-grid{grid-template-columns:1fr 1fr}.sv-proof-grid div:last-child{grid-column:span 2;border-left:0}.sv-hero-visual{min-height:320px}.sv-hero-visual img{object-position:center 54%!important}.sv-section-head h2,.sv-material-intro h2,.sv-capability-title h2,.sv-process h2,.sv-client-types h2,.sv-faq h2,.sv-inquiry h2{font-size:39px}}

/* Homepage header and hero refinement: preserves the existing visual system. */
html{scroll-padding-top:82px}.sv-header{height:78px;background:#faf8f4;backdrop-filter:none}.sv-header.is-compact{height:66px;border-bottom-color:#d8d0c6;box-shadow:0 5px 16px rgba(48,38,29,.055)}.sv-nav{gap:28px}.sv-mark{font-size:37px}.sv-logo b{font-size:17px}.sv-navigation ul{gap:22px}.sv-navigation a{font-size:14px}.sv-nav-cta{min-height:48px;padding-inline:18px;font-size:13px}.sv-hero>.sv-shell{width:min(1280px,calc(100% - clamp(48px,6vw,80px)))}.sv-hero-grid{position:relative;grid-template-columns:minmax(0,46%) minmax(0,54%);column-gap:clamp(32px,4vw,64px);min-height:626px;padding-bottom:104px}.sv-hero-copy{position:static;align-self:center;padding:58px 0 48px}.sv-hero h1{max-width:660px;font-size:clamp(48px,4.3vw,60px);line-height:1.01}.sv-hero h1 em{white-space:nowrap}.sv-intro{max-width:470px;margin:26px 0 28px}.sv-hero-visual{align-self:center;min-height:0;height:clamp(350px,34vw,430px);margin:42px 0 82px;aspect-ratio:4/3;overflow:hidden;background:#e7ddd1}.sv-hero-visual:after{display:none}.sv-hero-visual img{inset:0;right:auto;bottom:auto;width:100%;height:100%;object-fit:cover!important;object-position:44% 50%!important;transform:scale(1.025)}.sv-hero-visual p{display:none}.sv-hero-facts{position:absolute;right:0;bottom:0;left:0;z-index:2;max-width:none;min-height:104px;margin:0;padding:19px 0 17px;border-top:1px solid var(--line);background:rgba(250,248,244,.9);grid-template-columns:repeat(4,minmax(0,1fr))}.sv-hero-facts span{min-height:52px;padding:0 clamp(16px,2vw,28px);border-left:1px solid var(--line)}.sv-hero-facts span:first-child{padding-left:0}.sv-hero-facts b{font-size:10px;letter-spacing:.1em}.sv-hero-facts strong{max-width:15ch;font-size:14px;line-height:1.35}.sv-hero-copy>.sv-kicker,.sv-hero-copy>h1,.sv-hero-copy>.sv-intro,.sv-hero-copy>.sv-actions{animation:sv-hero-copy-in .48s ease both}.sv-hero-copy>h1{animation-delay:.05s}.sv-hero-copy>.sv-intro{animation-delay:.1s}.sv-hero-copy>.sv-actions{animation-delay:.15s}.sv-hero-visual{animation:sv-hero-visual-in .62s ease .08s both}@keyframes sv-hero-copy-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes sv-hero-visual-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 0 6% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@media(max-width:1080px){.sv-header{height:72px}.sv-header.is-compact{height:64px}.sv-navigation{top:72px}.sv-navigation ul{padding-inline:28px}.sv-nav-cta{min-height:46px}.sv-hero>.sv-shell{width:min(1280px,calc(100% - 56px))}.sv-hero-grid{grid-template-columns:minmax(0,45%) minmax(0,55%);column-gap:28px;min-height:590px}.sv-hero h1{font-size:clamp(42px,4.7vw,52px)}.sv-hero h1 em{white-space:normal}.sv-hero-visual{margin-top:44px}.sv-hero-facts strong{font-size:13px}}
@media(max-width:760px){html{scroll-padding-top:68px}.sv-header,.sv-header.is-compact{height:68px}.sv-navigation{top:68px}.sv-hero>.sv-shell{width:calc(100% - 36px)}.sv-hero-grid{display:grid;grid-template-columns:1fr;min-height:0;padding-bottom:0}.sv-hero-copy{display:contents}.sv-hero-copy>.sv-kicker{margin-top:50px}.sv-hero-copy>.sv-actions{margin-bottom:28px}.sv-hero h1{font-size:clamp(43px,11.5vw,54px)}.sv-hero-visual{order:2;margin:0;min-height:0;aspect-ratio:4/3}.sv-hero-visual img{object-position:43% 50%!important;transform:scale(1.035)}.sv-hero-facts{position:relative;right:auto;bottom:auto;left:auto;order:3;min-height:0;margin-top:26px;padding:0;background:transparent;grid-template-columns:1fr 1fr}.sv-hero-facts span,.sv-hero-facts span:first-child{min-height:70px;padding:12px 12px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.sv-hero-facts span:nth-child(odd){padding-left:0;border-left:0}.sv-hero-facts strong{max-width:18ch;font-size:13px}.sv-hero-copy>.sv-hero-facts{position:relative}}
@media(prefers-reduced-motion:reduce){.sv-hero-copy>.sv-kicker,.sv-hero-copy>h1,.sv-hero-copy>.sv-intro,.sv-hero-copy>.sv-actions,.sv-hero-visual{animation:none}}

/* Homepage hero: preserve the complete selected image rather than crop it to fill the visual frame. */
.sv-hero-visual{overflow:visible;background:#e7ddd1}.sv-hero-visual img{object-fit:contain!important;object-position:center center!important;transform:none!important}
@media(max-width:760px){.sv-hero-visual{overflow:visible;aspect-ratio:auto}.sv-hero-visual img{position:relative;display:block;width:100%;height:auto;min-height:0;object-fit:contain!important;object-position:center center!important}}

/* Keep the homepage hero columns inside the available width, including their gap. */
.sv-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}.sv-hero-copy{min-width:0}.sv-hero-visual{aspect-ratio:auto}
@media(min-width:761px) and (max-width:1080px){.sv-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);column-gap:28px}.sv-hero h1{font-size:clamp(40px,4.2vw,46px)}.sv-hero .sv-hero-title>span{white-space:normal}}

/* Small hero spacing refinement: keep the original layout while improving balance. */
.sv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(20px,3vw,44px);min-height:520px;padding-bottom:34px}.sv-hero-visual{height:auto;min-height:0;margin:15px 0 20px;aspect-ratio:4/3}.sv-hero-visual img{width:100%;height:100%;object-fit:contain!important;object-position:center center!important}
@media(min-width:761px) and (max-width:1080px){.sv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;min-height:510px;padding-bottom:56px}.sv-hero-visual{height:auto;margin:22px 0 42px;aspect-ratio:4/3}}
@media(max-width:760px){.sv-hero-grid{grid-template-columns:1fr;min-height:0;padding-bottom:0}.sv-hero-visual{height:auto;margin:0;aspect-ratio:auto}.sv-hero-visual img{width:100%;height:auto}}

/* Keep the editorial headline within its own desktop column at every width. */
.sv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);column-gap:clamp(32px,3vw,48px)}.sv-hero-copy,.sv-hero-visual{min-width:0}.sv-hero .sv-hero-title{max-width:min(100%,560px);font-size:clamp(44px,3.8vw,56px)}.sv-hero .sv-hero-title>span{white-space:normal}
@media(min-width:761px) and (max-width:1080px){.sv-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);column-gap:28px}.sv-hero .sv-hero-title{max-width:100%;font-size:clamp(40px,4.2vw,46px)}}
@media(max-width:760px){.sv-hero-grid{grid-template-columns:1fr}.sv-hero .sv-hero-title{max-width:100%;font-size:clamp(43px,11.5vw,54px)}}

/* Category cards may contain a two-line description; let their content set the card height. */
.sv-category-card{height:auto!important;min-height:0}.sv-category-card-link{display:flex;min-height:100%;flex-direction:column;text-decoration:none}.sv-category-card-link>div:last-child{display:flex;min-height:136px;flex:1;flex-direction:column;padding:16px 18px 18px}.sv-category-card-link>div:last-child>p{margin-bottom:12px}.sv-category-card-link .sv-category-card-cta{margin-top:auto}
