/* Shared widescreen layout and editorial inner pages */
:root{--page-gutter:clamp(32px,3vw,72px)}
.wrap{width:calc(100% - var(--page-gutter) * 2);max-width:none}
.hero{max-width:none;min-height:660px;grid-template-columns:48% 52%}
.hero-copy{padding:100px 55px 65px var(--page-gutter)}
.hero-visual{min-height:660px}
.hero h1{font-size:clamp(38px,3.3vw,64px)}
.section{padding-top:88px;padding-bottom:88px}
.section-heading{margin-bottom:40px}
.product-grid{gap:32px}
.section-heading>p,.product p{font-size:13px}
.service-section{padding:85px 0}
.services article{min-height:185px;padding-top:30px}
.services p{font-size:14px;max-width:560px}
.service-number{top:30px}
.services .need{font-size:15px}
.about{gap:100px}
.about-visual{min-height:430px;max-height:520px}
.about-copy>p:not(.eyebrow){font-size:15px;max-width:600px}
.about-copy h2{font-size:42px}
.contact-section{padding:85px 0}
.contact-layout{gap:120px}
.form-panel{padding:38px 42px}
label{font-size:13px}
.form-note{font-size:12px}
input:not([type=hidden]),textarea{font-size:14px}
.page-intro{background:#f7f6f2;padding:58px 0 70px}
.intro-grid{display:grid;grid-template-columns:1fr;gap:65px;align-items:center}
.has-image .intro-grid{grid-template-columns:1fr 1fr}
.breadcrumb{font-size:12px;color:#8c8983;margin:0 0 52px}
.breadcrumb a{border-bottom:1px solid #c6c1b8}
.page-intro h1{font-size:clamp(38px,3.4vw,62px);margin-bottom:24px}
.intro-description{font-size:16px;color:#79756f;line-height:2}
.page-image{height:420px;position:relative;overflow:hidden}
.page-image img{width:100%;height:100%;object-fit:cover}
.page-image figcaption{position:absolute;bottom:12px;right:14px;background:#ffffffe0;padding:3px 9px;font-size:10px;color:#777}
.story{display:grid;grid-template-columns:1fr 1.2fr;gap:120px}
.reading{font-size:16px;color:#79756f;line-height:2.1;min-width:0}
.reading p{margin:0 0 22px}
.reading .lead{font-size:26px;color:#353532;line-height:1.7}
.reading .small-note{font-size:12px;color:#979187}
.story h2{font-size:35px}
.soft-section{background:#f7f6f2}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:48px}
.editorial-grid article{border-top:1px solid #d9d5ce;padding-top:25px}
.index-number{font:32px Georgia;color:#aaa398}
.editorial-grid h3{font-size:22px;font-weight:400;margin:22px 0 12px}
.editorial-grid p{font-size:15px;line-height:2;color:#7d776e}
.end-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:65px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.end-cta .eyebrow{margin-bottom:14px}
.catalog{display:grid;grid-template-columns:1fr 1fr;gap:60px 55px}
.catalog>.section-heading{grid-column:1/-1;margin-bottom:0}
.catalog-item{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:30px}
.catalog-item>img{width:100%;aspect-ratio:.9;object-fit:cover}
.catalog-item h2{font-size:28px;margin-top:10px}
.catalog-item p,.catalog-item dl{font-size:13px;color:#827a70}
.catalog-item dl>div{padding:9px 0;border-top:1px solid var(--line)}
.catalog-item dt{color:#47443f}.catalog-item dd{margin:2px 0 0}
.faq{max-width:none}
.faq h2{margin-bottom:30px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-size:17px;display:flex;justify-content:space-between;gap:25px}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{font-size:22px;color:var(--accent)}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{max-width:850px;color:#827a70;font-size:14px;line-height:2}
.page-contact .page-intro{background:white;padding-bottom:45px}
.page-contact .breadcrumb{margin-bottom:35px}
.page-contact .contact-copy h2{font-size:36px}
.address-card{border-left:1px solid var(--line);padding-left:55px}
.address-card h3{font-size:23px;font-weight:400;color:var(--ink)}
.contact-lines{display:grid;gap:12px;font-size:14px}
.contact-lines a{width:fit-content;border-bottom:1px solid #d0c8bd}
/* Website lockup: show the original mark without its large blank top/bottom margins. */
.wordmark{gap:20px;font-size:27px;letter-spacing:2px;line-height:1.25}
.brand-symbol{display:block;position:relative;flex-shrink:0;width:144px;height:72px;overflow:hidden;background:transparent}
.wordmark .brand-symbol .brand-logo{position:absolute;left:0;top:-40px;width:144px;height:144px;max-width:none}
.wordmark>span:not(.brand-symbol){padding-left:20px;border-left:1px solid #dedbd4}
.wordmark small{font-size:11px;letter-spacing:2px;margin-top:8px}
.footer-main .wordmark{font-size:23px;gap:16px}
.footer-main .brand-symbol{width:120px;height:60px}
.footer-main .wordmark .brand-symbol .brand-logo{width:120px;height:120px;top:-33px}
.footer-main .wordmark>span:not(.brand-symbol){padding-left:16px}
.footer-main .wordmark small{font-size:9px;letter-spacing:1px;margin-top:7px}
@media(max-width:1100px) and (min-width:761px){
 .wordmark{font-size:21px;gap:14px;letter-spacing:1px}
 .brand-symbol{width:112px;height:56px}
 .wordmark .brand-symbol .brand-logo{width:112px;height:112px;top:-31px}
 .wordmark>span:not(.brand-symbol){padding-left:14px}
 .wordmark small{font-size:9px;letter-spacing:1px}
 .nav{gap:20px}.nav nav{gap:18px}
}
@media(min-width:761px){
 .page-intro.has-image{padding:0}
 .has-image .intro-grid{width:100%;grid-template-columns:48% 52%;gap:0;align-items:stretch}
 .has-image .intro-grid>div{padding:55px 50px 65px var(--page-gutter);align-self:center}
 .has-image .page-image{height:auto;min-height:clamp(480px,29vw,740px)}
 .has-image .page-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}
@media(min-width:1800px){.nav{height:104px}.nav nav{font-size:15px;gap:46px}.hero,.hero-visual{min-height:740px}.hero-copy{padding-top:125px}.hero-description{font-size:17px;max-width:570px}.hero-foot{margin-top:55px}.section h2{font-size:38px}.page-image{height:480px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-copy{padding-left:32px;padding-right:28px;padding-top:75px}.hero,.hero-visual{min-height:570px}.story{gap:50px}.catalog{grid-template-columns:1fr}.catalog-item{grid-template-columns:.8fr 1fr}.catalog-item>img{aspect-ratio:1.2}.intro-grid{gap:35px}.page-image{height:350px}.contact-layout{gap:50px}.about{gap:45px}.editorial-grid{gap:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 24px 30px}.hero h1{font-size:35px}.hero-visual{min-height:0;height:320px}.section{padding-top:42px;padding-bottom:42px}.product-grid{gap:24px 15px}.section-heading{margin-bottom:25px}.section-heading>p,.product p{font-size:10px}.service-section{padding:40px 0}.services article{min-height:0;padding-top:15px}.services p{font-size:11px}.services .need{font-size:12px}.about{gap:28px}.about-visual{min-height:0;height:270px}.about-copy h2{font-size:28px}.about-copy>p:not(.eyebrow){font-size:13px}.contact-section{padding:38px 0}.contact-layout{gap:30px}.form-panel{padding:24px 20px}label{font-size:11px}.form-note{font-size:10px}input:not([type=hidden]),textarea{font-size:16px}.page-intro{padding:25px 0 35px}.has-image .intro-grid{grid-template-columns:1fr}.intro-grid{gap:25px}.breadcrumb{margin-bottom:30px;font-size:11px}.page-intro h1{font-size:35px}.intro-description{font-size:13px}.intro-description br{display:none}.page-image{height:260px}.story{grid-template-columns:1fr;gap:28px}.story h2{font-size:27px}.reading{font-size:14px}.reading .lead{font-size:22px}.editorial-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}.editorial-grid h3{font-size:20px;margin:12px 0}.editorial-grid p{font-size:13px}.end-cta{align-items:start;flex-direction:column;padding:35px 0}.end-cta h2{font-size:24px}.catalog{gap:30px}.catalog-item{gap:20px;grid-template-columns:1fr}.catalog-item>img{aspect-ratio:1.4}.catalog-item h2{font-size:25px}.faq summary{font-size:15px}.faq details p{font-size:13px}.address-card{padding-left:0;border:0}.address-card h3{font-size:20px}.page-contact .contact-copy h2{font-size:28px}}
@media(max-width:760px){
 .nav{gap:12px}
 .wordmark,.footer-main .wordmark{gap:10px;font-size:18px;letter-spacing:1px}
 .brand-symbol,.footer-main .brand-symbol{width:104px;height:52px}
 .wordmark .brand-symbol .brand-logo,.footer-main .wordmark .brand-symbol .brand-logo{width:104px;height:104px;top:-29px}
 .wordmark>span:not(.brand-symbol),.footer-main .wordmark>span:not(.brand-symbol){padding-left:10px}
 .wordmark small,.footer-main .wordmark small{font-size:8px;letter-spacing:0;margin-top:5px}
}
@media(max-width:370px){.nav .wordmark>span:not(.brand-symbol){display:none}}
