:root{--paper:#f2f1eb;--acid:#cbff21}
.catalogue-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding:28px 0;margin:30px 0}.catalogue-intro span,.catalogue-category,#catalogue-count,.depth-grid span{font:12px/1.6 var(--mono)}
.catalogue-intro p{margin:0;color:#575750;font-size:16px}.catalogue-search{display:block;font-size:14px}.catalogue-search input{display:block;width:100%;padding:20px 0;margin:12px 0 24px;border:0;border-bottom:1px solid #85857c;background:transparent;color:var(--ink);font:24px var(--sans)}
#category-filters{display:flex;flex-wrap:wrap;gap:8px}#category-filters button{padding:10px 15px;background:transparent;border:1px solid #aaa99f;border-radius:30px;font:13px inherit;cursor:pointer;color:#171713}#category-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#catalogue-count{margin:28px 0 16px}#catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cfcec4;border:1px solid #cfcec4}#catalogue-grid article{background:var(--paper);padding:28px;display:flex;flex-direction:column;min-height:250px}#catalogue-grid h3{font-size:27px;line-height:1.15;margin:18px 0}#catalogue-grid article>p:not(.catalogue-category){font-size:15px;line-height:1.6;color:#5b5b54;margin:0 0 22px}#catalogue-grid button{margin-top:auto;align-self:flex-start;border:0;border-bottom:1px solid #77776e;background:none;padding:9px 0;font:13px var(--mono);cursor:pointer;color:#171713}#catalogue-grid button[aria-pressed=true]{background:var(--acid);padding:9px 12px;border-color:transparent}#load-products{display:block;margin:28px auto}#load-products[hidden],#selection-tray[hidden]{display:none}
.custom-route{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:65px;border-top:1px solid var(--line);padding-top:40px}.custom-route h3{font-size:38px;line-height:1.1;margin:15px 0}.custom-route p{font-size:17px;line-height:1.6}.custom-route .section-tag{font-size:12px;margin:0}.development-depth{background:#e8e7df}.development-depth>h2{font-size:clamp(42px,6vw,80px);letter-spacing:-.06em;margin:0 0 45px}.depth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.depth-grid article{border-top:1px solid #aaa99f;padding-top:24px}.depth-grid h3{font-size:28px;line-height:1.15;margin:25px 0 18px}.depth-grid p,.depth-grid li{font-size:16px;line-height:1.7}.depth-grid ul{padding-left:18px;margin-top:22px}
#selection-tray{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:24px;max-width:calc(100% - 24px);width:max-content;background:#171713;color:white;padding:12px 16px;box-shadow:0 8px 35px #0003}#selection-count{font:13px var(--mono)}#clear-selection{background:none;border:0;border-bottom:1px solid #aaa;color:white;cursor:pointer;padding:8px}.brief-shortlist{padding:20px;background:#e9eadf;margin:20px 0}.brief-shortlist p{font-size:15px;line-height:1.7}.brand-wall{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-wall article{border-bottom:1px solid var(--line)}
@media(max-width:700px){.catalogue-intro,.custom-route,.depth-grid{grid-template-columns:1fr;gap:25px}#catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#catalogue-grid article{padding:18px;min-height:275px}#catalogue-grid h3{font-size:23px}#catalogue-grid article>p:not(.catalogue-category){font-size:14px}#category-filters button{font-size:12px;padding:9px 12px}#selection-tray{gap:12px;padding:10px}#selection-tray .button{padding:14px 10px;font-size:10px}#selection-count{font-size:11px}#clear-selection{font-size:11px}.catalogue-search input{font-size:19px}.custom-route h3{font-size:32px}}
html{scroll-padding-top:100px}
.topline{font-size:12px;height:32px;letter-spacing:.06em}
.site-header{height:88px;padding:0 4vw}
.brand b{font-size:26px}
.site-header nav{gap:28px}
.pill,.button{font-size:12px;letter-spacing:.04em}
.pill{background:var(--acid);border-color:transparent}
.hero{height:auto;min-height:600px;display:grid;grid-template-columns:1fr 1.15fr;background:var(--paper);padding:0}
.hero-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;color:var(--ink);padding:60px 4vw 85px;max-width:none;grid-column:1;grid-row:1}
.hero h1{font-size:clamp(58px,6.8vw,112px);line-height:.94;letter-spacing:-.07em;margin:42px 0 30px}
.hero h1 em{letter-spacing:-.06em}
.hero .lede{font-size:18px;max-width:420px;line-height:1.6}
.hero .kicker{max-width:360px;font-size:12px;line-height:1.6}
.hero-image.hero-products{position:relative;inset:auto;grid-column:2;grid-row:1;display:flex;align-items:center;min-height:600px;overflow:hidden;background:#dedbd4}
.hero-products:after{display:none}
.hero-products img{display:none}
.hero-products .hero-main-product{display:block;position:relative;width:100%;height:auto;object-fit:contain}
.hero-caption{left:4vw;bottom:25px;color:var(--ink);font-size:10px;right:auto;gap:20px}
.hero .button-line{border:0;border-bottom:1px solid var(--ink);padding-left:0;padding-right:0;margin-left:10px}
.marquee{padding:17px 0}
.section{padding:85px 4vw}
.section-tag,.kicker{font-size:12px;line-height:1.5;letter-spacing:.1em}
.section-tag{margin-bottom:36px}
.selected{background:#fff;padding-top:58px;padding-bottom:40px}
.selected-head{margin-bottom:35px;grid-template-columns:1fr 1fr;gap:8vw}
.selected-head h2{font-size:clamp(44px,5vw,76px)}
.selected-head p{font-size:16px;max-width:440px}
.brand-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brand-wall article{padding:30px 18px 20px;text-align:center;border-right:1px solid var(--line)}
.brand-wall article:last-child{border-right:0}
.brand-mark{height:105px;display:flex;align-items:center;justify-content:center}
.brand-mark img{width:100%;max-width:180px;max-height:65px;object-fit:contain}
.brand-mark .fpc-mark{max-height:92px;width:100px}
.brand-monat{font-size:30px;letter-spacing:.16em;flex-direction:column;line-height:1.2}
.brand-monat span{font:12px var(--mono);letter-spacing:.35em;margin-top:7px}
.brand-cafe{font:italic 35px var(--serif);letter-spacing:-.04em}
.brand-wall p{font:12px/1.5 var(--mono);color:#62625d}
.legal-note{font-size:12px}
.statement h2{font-size:clamp(50px,7vw,105px);line-height:.97}
.statement-grid{grid-template-columns:1.1fr 1fr;gap:10vw}
.capability-summary{font-size:12px;letter-spacing:0;gap:18px}
.service-grid article{min-height:255px;padding:28px}
.service-grid h3{margin-top:45px;font-size:30px}
.service-grid span,.program-row>span,.process li>span{font-size:12px}
.service-grid p{font-size:16px}
.collection-intro{padding:85px 4vw 40px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}
.collection-intro .section-tag{grid-column:1/-1;margin:0}
.collection-intro h2{font-size:clamp(45px,6vw,88px);line-height:1;letter-spacing:-.065em;margin:0;font-weight:500}
.collection-intro>p:last-child{font-size:18px;max-width:340px;justify-self:end}
.gallery{padding:0 4vw;background:var(--paper);gap:30px}
.gallery > article{height:auto;min-height:0!important;background:none;overflow:hidden}
.gallery > article > img{position:relative;inset:auto;height:auto;aspect-ratio:1.5;object-fit:cover}
.gallery article>div{position:static;background:none;color:var(--ink);padding:23px 0 32px}
.gallery span{font-size:12px}
.gallery h2,.gallery h3{font-size:36px;line-height:1.05;margin-top:14px}
.gallery p{font-size:16px;color:#55554f;max-width:500px}
.visual-note{padding:0 4vw;font:12px/1.6 var(--mono);color:#65655e;max-width:900px}
.range-index{padding-top:65px}
.range-grid article{min-height:215px;padding:24px}
.range-grid h3{margin-top:36px}
.range-grid p{font-size:16px}
.range-head h2{font-size:clamp(50px,7vw,100px)}
.process{min-height:0}
.process-image{height:850px}
.process-image img{object-position:center 75%}
.process-content{padding:70px 4vw}
.process h2{font-size:clamp(50px,5.6vw,82px);line-height:.95;margin-bottom:45px}
.process li{grid-template-columns:35px 1fr}
.process li p{font-size:16px}
.final-cta h2{line-height:.95}
:focus-visible{outline:3px solid #526b00;outline-offset:5px}
@media(max-width:1000px){
 .hero h1{font-size:64px}.hero-copy{padding-top:50px}
 .brand-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
 .brand-wall article{border-bottom:1px solid var(--line)}
 .brand-wall article:nth-child(3){border-right:0}
 .brand-wall article:last-child{grid-column:span 2}
 .process-image{height:620px}
}
@media(max-width:700px){
 .topline{font-size:10px;padding:0 20px}.site-header{height:75px;padding:0 20px}
 .hero{display:flex;flex-direction:column;min-height:0}
 .hero-copy{padding:45px 22px 40px;order:0}
 .hero h1{font-size:clamp(54px,12vw,82px);margin:26px 0}
 .hero .lede{font-size:17px}.hero .actions{flex-direction:row;flex-wrap:wrap;gap:12px}
 .hero-image.hero-products{order:1;min-height:0}.hero-caption{display:none}
 .section{padding:60px 22px}
 .statement-grid,.selected-head{grid-template-columns:1fr;gap:25px}
 .brand-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brand-wall article{padding:18px 10px}
 .brand-wall article:nth-child(3){border-right:1px solid var(--line)}
 .brand-wall article:nth-child(even){border-right:0}
 .brand-wall article:last-child{grid-column:1/-1}
 .collection-intro{padding:60px 22px 30px;display:block}
 .collection-intro h2{margin:20px 0}.collection-intro>p:last-child{font-size:16px}
 .gallery{padding:0 22px;gap:20px;grid-template-columns:1fr}
 .gallery > article{height:auto}.gallery h2,.gallery h3{font-size:32px}
 .visual-note{padding:0 22px}.process-image{height:480px}
 .process-content{padding:55px 22px}.capability-summary{font-size:12px;gap:16px 10px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.marquee div{animation:none}
 .reveal{opacity:1;transform:none;transition:none}.gallery img{transition:none}
}

/* Photography-first refinement */
.hero .actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.hero .actions .button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:50px;padding:16px 20px;font-size:12px;line-height:1.3;letter-spacing:.035em;flex:0 0 auto;margin:0}
.hero .actions .button-line{border:1px solid var(--line)}
.button,.pill{min-height:44px}
.brief-dialog input,.brief-dialog select,.brief-dialog textarea{font-size:16px}
.brand-wall article p{min-height:36px}
@media(max-width:420px){.hero .actions{display:grid;grid-template-columns:1fr;width:100%}.hero .actions .button{width:100%}.capability-summary li{white-space:normal}}
.selected .brand-wall{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:0;border-bottom:1px solid var(--line);gap:0}
.selected .brand-wall article{grid-column:span 2;min-width:0;padding:22px 16px;border:0!important;text-align:center}
.selected .brand-wall article:nth-child(5){grid-column:2/span 2}
.selected .brand-wall article:last-child{grid-column:6/span 2}
.selected .brand-mark{height:112px}
.selected .brand-mark .happeas-mark{width:106px;height:106px;max-height:106px;max-width:106px;object-fit:contain}
.selected .brand-wall p{margin:14px 0 4px}
@media(max-width:1000px){.selected .brand-wall{grid-template-columns:repeat(6,minmax(0,1fr))}.selected .brand-wall article:nth-child(5){grid-column:span 2}.selected .brand-wall article:last-child{grid-column:3/span 2}}
@media(max-width:700px){.selected .brand-wall{grid-template-columns:repeat(4,minmax(0,1fr))}.selected .brand-wall article{padding:18px 10px}.selected .brand-wall article:last-child{grid-column:2/span 2}}
.wordmark{display:block;width:132px;height:auto;overflow:visible;fill:currentColor;font-family:var(--sans);font-size:28px;font-weight:700;letter-spacing:-.7px}
.brand,.footer-brand{align-items:center;gap:24px;line-height:1;flex-shrink:0}
.brand i,.footer-brand i{display:none}
.section{padding-top:58px;padding-bottom:58px}
.section-tag{margin-bottom:25px}
.dark,.process,footer{background:var(--paper);color:var(--ink)}
.services{background:#e9e9e2}
.service-grid,.service-grid article,.program-row,.program-row:last-child,.process li,footer small{border-color:var(--line)}
.service-grid article{min-height:190px;padding:24px}
.service-grid h3{font-size:24px;margin:26px 0 12px}
.service-grid p,.program-row p,.process li p,footer p{color:#55564e;font-size:16px}
.service-grid span,.program-row>span,.process li>span{color:#45473d}
.hero{grid-template-columns:.85fr 1.35fr;min-height:0}
.hero-copy{padding:55px 4vw 70px}
.hero h1{font-size:clamp(48px,5.5vw,82px);margin:28px 0 22px;line-height:1}
.hero .lede{font-size:16px}
.hero-image.hero-products{min-height:0}
.statement h2,.range-head h2,.selected-head h2,.standards h2{font-size:clamp(34px,4vw,58px);line-height:1.06;letter-spacing:-.055em}
.statement-grid>div>p:first-child,.range-head p,.selected-head p{font-size:16px}
.range-head,.selected-head{margin-bottom:32px}
.collection-intro{padding-top:48px;padding-bottom:26px}
.collection-intro h2{font-size:clamp(34px,4vw,54px)}
.gallery{gap:26px}
.gallery article>div{padding:16px 0 22px}
.gallery h2,.gallery h3{font-size:26px;margin:10px 0}
.gallery p{font-size:16px;margin:8px 0;max-width:540px}
.gallery article:hover img{transform:none}
.program-row{padding:22px 0;grid-template-columns:40px 1fr 1.2fr}
.program-row h3{font-size:26px}
.process{align-items:stretch;padding:0 4vw;gap:4vw}
.process-image{height:auto;min-height:0;align-self:stretch;background:transparent}
.process-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.process-content{padding:32px 0}
.process h2{font-size:clamp(34px,4vw,56px);line-height:1.05;margin-bottom:28px}
.process li{padding:12px 0}
.process li b{font-size:16px}
.development-depth>h2{font-size:clamp(34px,4vw,56px)}
.depth-grid h3,.custom-route h3{font-size:26px}
.final-cta{padding:65px 4vw}
.final-cta h2{font-size:clamp(38px,5.5vw,76px);line-height:1.02;margin:28px 0 32px}
footer{min-height:0;border-top:1px solid var(--line);padding-top:40px}
footer small{margin-top:25px}
.brief-intro h2{font-size:clamp(36px,4.5vw,60px);line-height:1.05}
@media(max-width:900px){
 .process{grid-template-columns:1fr;padding:0 22px;gap:0}
 .process-image{height:auto}
 .process-image img{height:auto;object-fit:contain}
 .process-content{padding:32px 0 45px}
 .program-row{grid-template-columns:28px 1fr;gap:16px}
}
@media(max-width:700px){
 .wordmark{width:118px}
 .section{padding-top:42px;padding-bottom:42px}
 .hero-copy{padding:34px 22px}
 .hero h1{font-size:52px}
 .collection-intro{padding:42px 22px 24px}
 .gallery h2,.gallery h3{font-size:24px}
 .gallery article>div{padding-bottom:18px}
 .service-grid article{min-height:0}
}

/* Natural image height prevents both letterboxing and product cropping. */
.hero{display:flex;flex-direction:column;height:auto;min-height:0}
.hero-copy{order:0;display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:center;padding:36px 4vw}
.hero .kicker{grid-column:1;grid-row:1;margin:0;max-width:none}
.hero h1{grid-column:1;grid-row:2 / span 2;font-size:clamp(44px,5vw,72px);margin:16px 0 0}
.hero .lede{grid-column:2;grid-row:2;margin:0 0 20px;max-width:440px}
.hero .actions{grid-column:2;grid-row:3;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}
.hero .actions .button{width:100%;padding:15px 10px;font-size:11px}
.hero-image.hero-products{order:1;display:block;flex:none;width:100%;height:auto;min-height:0;padding:0;margin:0;background:transparent;line-height:0}
.hero-products .hero-main-product{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0;object-fit:contain}
.hero-caption{display:none}
@media(max-width:700px){
 .hero-copy{display:block;padding:28px 22px}
 .hero h1{font-size:48px;margin:16px 0 20px}
 .hero .lede{font-size:15px;margin-bottom:22px}
 .hero .actions{max-width:none;gap:10px}
 .hero .actions .button{font-size:10px;padding:14px 8px}
}
