@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f2f0e8;--ink:#22251f;--muted:#687061;--line:#c8cebf;--acid:#d8ee71;--brand:0;--fold:0;--family:0;--shelf:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{background:var(--acid)}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Manrope',Arial,sans-serif;font-weight:600;letter-spacing:-.055em;line-height:1.07}p{line-height:1.6}em,i{font-style:normal}
.nav{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding:24px 3% 27px;border-bottom:1px solid var(--line)}.wordmark{display:block;flex:none}.brand-logo{display:block;width:clamp(350px,35vw,520px);aspect-ratio:1320/625;position:relative;overflow:hidden;mix-blend-mode:multiply}.brand-logo img{position:absolute;max-width:none;width:116.364%;height:auto;left:-8.334%;top:-19.2%}.nav nav{display:flex;gap:27px;align-items:center;padding-bottom:12px;font-size:12px;white-space:nowrap}.nav nav>a:hover{text-decoration:underline;text-underline-offset:5px}.nav button{background:transparent;border:1px solid var(--ink);border-radius:0;padding:13px 18px}.nav button span{margin-left:22px}.nav button:hover{background:var(--ink);color:var(--paper)}
.eyebrow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;display:block}
.process{display:grid;grid-template-columns:minmax(0,72fr) minmax(0,28fr);gap:30px;padding:16px 3% 30px;position:relative}.visual-column{position:relative;min-width:0}.visual-stage{position:sticky;top:16px;height:var(--story-height,calc(100svh - 32px));min-height:440px;max-height:none;background:#e7e8df;overflow:hidden}.stage-head,.stage-footer{position:absolute;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:6;font-size:9px;letter-spacing:.045em;padding:8px;background:rgb(242 240 232 / calc(var(--shelf)*.96))}.stage-head{top:19px}.stage-footer{bottom:22px}.stage-footer span:last-child{font-size:8px}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#cbd0bf40 1px,transparent 1px),linear-gradient(90deg,#cbd0bf40 1px,transparent 1px);background-size:32px 32px;opacity:calc(1 - var(--photo))}.stage-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#c6cdb8;z-index:8}.stage-progress i{display:block;background:#647153;width:20%;height:100%}.photo-backdrop{position:absolute;inset:0;background:#f1eae2;opacity:var(--photo)}.mallow-scene{position:absolute;inset:62px 0 62px;perspective:1800px;perspective-origin:50% 45%}.mallow-photo{position:absolute;inset:0;opacity:calc(var(--photo)*(1 - var(--family)));transform:scale(calc(.94 + var(--photo)*.06 - var(--family)*.08))}.mallow-photo img{width:100%;height:100%;object-fit:contain;display:block}.mallow-family{position:absolute;left:0;right:0;top:50%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));transform:translateY(-50%) scale(calc(.88 + var(--family)*.12));opacity:calc(var(--family)*(1 - var(--shelf)))}.mallow-family>img{display:block;width:100%;height:auto;min-width:0}.family-flavors{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding-top:18px;text-align:center;font-size:13px;font-weight:500;color:#3b251d}.mallow-shelf-scene{position:absolute;inset:0;opacity:var(--shelf);overflow:hidden;transform:scale(calc(1.04 - var(--shelf)*.04))}.mallow-shelf-scene>img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
.story-column{min-width:0;padding:0 5% 0 0}.chapter{min-height:105svh;display:flex;flex-direction:column;justify-content:center;padding:65px 0;scroll-margin-top:20px}.chapter-number{font-size:9px;letter-spacing:.07em;margin-bottom:29px;color:#606a54}.chapter h1,.chapter h2{font-size:clamp(31px,2.9vw,50px);margin-bottom:26px}.chapter>p{font-size:14px;color:#505c46}.chapter .chapter-small{font-size:12px;margin-top:20px;color:#68735e}.deliverables{display:flex;flex-wrap:wrap;gap:6px;margin-top:29px}.deliverables span{font-size:9px;border:1px solid #bdc6b0;padding:8px 10px}.swatches{display:flex;align-items:center;margin-top:25px}.swatches i{width:34px;height:34px;border-radius:50%;border:1px solid #0001;margin-right:-4px;flex:none}.swatches span{font-size:9px;margin-left:18px;line-height:1.4}.concept-note{margin-top:24px;font-size:9px;color:#68735d;border-top:1px solid var(--line);padding-top:14px}.fold-hint{display:block;margin-top:22px;font-size:11px;color:#607051;font-weight:500}
.mallow-showcase{padding:80px 3% 28px;background:#b2d6df;border-top:1px solid var(--ink)}.range-head{display:grid;grid-template-columns:1.5fr 1fr;align-items:end}.range-head .eyebrow{grid-column:1/-1;margin-bottom:25px}.range-head h2{font-size:clamp(42px,4.4vw,72px)}.range-head>p{justify-self:end;font-size:14px;margin-bottom:8px}.mallow-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:52px 0 38px}.mallow-range-grid figure{min-width:0}.mallow-range-grid img{display:block;width:100%;height:auto;border:1px solid #9ebcc1}.mallow-range-grid figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:17px;font-size:10px}.mallow-range-grid figcaption>span:first-child{letter-spacing:.05em;text-transform:uppercase}.mallow-range-grid figcaption>span:last-child{color:#496467}.range-system-note{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:27px}.range-system-note p{font-size:17px;letter-spacing:-.3px}.range-system-note>span{font-size:13px;color:#496467}.range-caption{border-top:1px solid #5c7c8050;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.5}
.retail-detail{padding:80px 3% 60px;background:#e5e7dd}.retail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.retail-head h2{font-size:clamp(42px,4.4vw,72px);margin-top:24px}.retail-head>p{font-size:14px}.retail-detail img{display:block;width:100%;height:auto}.retail-detail figcaption{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:9px;padding-top:17px}.retail-detail figcaption>span:nth-child(2){margin-right:auto;color:#66715e}
.studio{display:grid;grid-template-columns:1fr 1.05fr;gap:12%;padding:100px 6%}.studio-title h2{font-size:clamp(40px,4.8vw,74px);margin-top:29px}.studio-content .studio-lead{font-size:22px;line-height:1.45;letter-spacing:-.5px;margin-bottom:25px}.studio-content>p:nth-child(2){font-size:14px;color:#626e58;max-width:390px}.service-list{margin-top:42px}.service-list>div{border-top:1px solid var(--line);position:relative;padding:20px 0 20px 33px}.service-list>div>span{position:absolute;left:0;top:25px;font-size:9px;color:#7c8471}.service-list h3{font-weight:500;font-size:18px;letter-spacing:-.4px}.service-list p{font-size:10px;color:#6c7361;margin-top:5px}
.contact{padding:70px 6%;background:#262a23;color:var(--paper);position:relative;overflow:hidden}.contact h2{font-size:clamp(52px,6.8vw,104px);margin:30px 0 35px;position:relative;z-index:1}.contact-button{padding:18px 23px;background:var(--acid);color:var(--ink);border:0;font-size:14px;position:relative;z-index:1}.contact-button span{margin-left:40px}.contact-button:hover{background:#e6fca0}.contact>p{font-size:11px;color:#adb4a3;margin-top:18px}.contact-star{position:absolute;right:6%;top:75px;color:var(--acid);font-size:320px;line-height:1;transform:rotate(10deg)}footer{padding:28px 3%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}footer .brand-logo{width:180px}footer>span:nth-child(2){font-size:12px}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:40px;width:min(560px,calc(100% - 28px));max-height:90svh;overflow:auto}dialog::backdrop{background:#22271ec0;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:30px}dialog h2{font-size:50px;margin:24px 0 14px}dialog>p{font-size:12px;color:var(--muted)}form{margin-top:25px}form label{font-size:12px;display:block;margin-top:18px}input,textarea,select{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid #b9c0ac;border-radius:0;padding:11px 0;font-size:14px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:0;border-bottom:2px solid var(--ink)}textarea{resize:vertical}.submit-button,.result-actions button{background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:13px 20px;margin-top:25px;font-size:12px}.result-actions{display:flex;gap:10px}.result-actions button:last-child{background:transparent;color:var(--ink)}#brief-result h3{margin:28px 0 15px;font-size:19px;font-weight:500}#brief-text{white-space:pre-wrap;font-family:inherit;background:#e7e9de;font-size:12px;line-height:1.7;padding:20px;max-height:280px;overflow:auto}.privacy-note{font-size:10px;color:#6b735e;margin-top:15px}.edit-brief{display:block;margin-top:18px;background:transparent;border:0;padding:0;font-size:11px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px) and (min-width:901px){.nav nav{gap:18px;font-size:11px}.brand-logo{width:350px}.process{grid-template-columns:minmax(0,68fr) minmax(0,32fr);gap:24px}.chapter h1,.chapter h2{font-size:32px}.chapter>p{font-size:13px}.story-column{padding-right:0}.stage-head,.stage-footer{left:14px;right:14px;font-size:8px}.stage-footer span:last-child{font-size:7px}.studio{gap:7%}.mallow-range-grid figcaption{flex-direction:column;gap:6px}}
@media(max-width:900px){html{scroll-padding-top:16px}.nav{display:block;padding:20px 5% 18px}.brand-logo{width:min(88vw,340px)}.nav nav{margin-top:22px;gap:18px;justify-content:space-between;padding:0;font-size:10px}.nav button{padding:10px 12px;font-size:10px}.nav button span{margin-left:9px}.process{display:block;padding:16px 3% 26px;isolation:isolate}.visual-column{position:sticky;top:0;z-index:5}.visual-stage{position:relative;top:0;height:54svh;min-height:320px;max-height:540px}.story-column{padding:0 3%}.chapter{min-height:92svh;padding:38px 0;scroll-margin-top:56svh}.chapter h1,.chapter h2{font-size:clamp(32px,7.6vw,42px);margin-bottom:22px}.chapter-number{margin-bottom:21px;font-size:9px}.chapter>p{font-size:14px}.chapter .chapter-small{font-size:12px}.deliverables{margin-top:23px}.stage-head{top:10px}.stage-footer{bottom:12px}.stage-head,.stage-footer{left:10px;right:10px;padding:6px;font-size:7px;gap:8px}.stage-footer span:last-child{font-size:6px;letter-spacing:0}.mallow-scene{inset:36px 0 38px}.family-flavors{font-size:10px;padding-top:12px}.mallow-showcase{padding:55px 5% 24px}.range-head{display:block}.range-head h2{font-size:clamp(35px,7.6vw,48px)}.range-head>p{font-size:12px;margin-top:23px}.range-head .eyebrow{font-size:8px}.mallow-range-grid{gap:10px;margin:35px 0 28px}.mallow-range-grid figcaption{flex-direction:column;gap:6px;padding-top:12px;font-size:9px}.range-system-note{display:block;margin-bottom:24px}.range-system-note p{font-size:14px}.range-system-note>span{display:block;margin-top:9px;font-size:12px}.range-caption{font-size:8px;align-items:start;gap:14px}.range-caption>span{max-width:63%}.range-caption a{max-width:37%}.retail-detail{padding:55px 5% 36px}.retail-head{display:block;margin-bottom:28px}.retail-head h2{font-size:42px;margin-top:23px}.retail-head>p{font-size:12px;margin-top:24px}.retail-detail figcaption{gap:10px;flex-wrap:wrap;font-size:8px;line-height:1.4}.retail-detail figcaption>a{width:100%;margin-top:5px}.studio{display:block;padding:65px 6%}.studio-title h2{font-size:48px}.studio-content{margin-top:38px}.studio-content .studio-lead{font-size:21px}.contact{padding:55px 6%}.contact h2{font-size:clamp(42px,9.6vw,58px)}.contact-star{right:-35px;top:180px;font-size:190px;opacity:.3}.contact-button{font-size:12px;padding:16px 21px}footer{flex-wrap:wrap;padding:25px 5%;gap:20px;font-size:9px}footer .brand-logo{width:150px}footer>span:nth-child(2){display:none}footer>span:last-child{width:100%;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}dialog{padding:30px 24px}dialog h2{font-size:42px}}
@media(max-width:430px){.nav nav{gap:10px}.nav button span{margin-left:5px}.mallow-range-grid figcaption{font-size:7px}.stage-footer{font-size:6px}.stage-footer span:last-child{font-size:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Fold geometry follows the supplied 6000 × 4000 Vanilla dieline. */
:root{--photo:0;--walls:0;--back:0;--glue:0;--dust:0;--lids:0;--tucks:0;--model-scale:1}
.fold-camera{position:absolute;left:50%;top:50%;width:270px;height:270px;transform:translate(-50%,-50%) scale(var(--model-scale));transform-style:preserve-3d;opacity:calc(1 - var(--photo));will-change:transform}
.fold-carton{position:relative;width:270px;height:270px;transform-style:preserve-3d;transform:translateX(calc(-120px*(1 - var(--fold)))) rotateX(calc(-13deg*var(--fold))) rotateY(calc(-24deg*var(--fold)))}
.fold-panel{position:absolute;transform-style:preserve-3d;--ink-fill:0;--cut:polygon(0 0,100% 0,100% 100%,0 100%)}
.fold-layer{position:absolute;inset:0;backface-visibility:hidden;background-size:900px 600px;background-position:var(--tex-x) var(--tex-y);background-repeat:no-repeat;clip-path:var(--cut)}
.fold-panel:before{content:'';position:absolute;inset:0;background:#fffdf4;transform:rotateY(180deg) translateZ(.2px);backface-visibility:hidden;clip-path:var(--cut)}
.fold-paper{background:#fffdf4;border:1px dashed #afb6a0}.fold-art{background-image:url('assets/mallow-vanilla-dieline.png');clip-path:inset(0 calc((1 - var(--ink-fill))*100%) 0 0);transform:translateZ(.1px)}.fold-shade{background:#20130d;opacity:0;transform:translateZ(.2px)}
.fold-front{width:270px;height:270px;left:0;top:0}.fold-left{width:67.5px;height:270px;left:-67.5px;top:0;transform-origin:right center;transform:rotateY(calc(-90deg*var(--walls)))}.fold-right{width:67.5px;height:270px;left:270px;top:0;transform-origin:left center;transform:rotateY(calc(90deg*var(--walls)))}.fold-back{width:270px;height:270px;left:67.5px;top:0;transform-origin:left center;transform:rotateY(calc(90deg*var(--back)))}
.fold-glue{width:30px;height:270px;left:-30px;top:0;transform-origin:right center;transform:translateX(calc(.5px*var(--glue))) rotateY(calc(-90deg*var(--glue)));--cut:polygon(0 5.5%,100% 0,100% 100%,0 94.5%)}
.fold-dust-top{width:67.5px;height:45px;left:0;top:-45px;transform-origin:center bottom;transform:translateY(calc(.4px*var(--dust))) rotateX(calc(90deg*var(--dust)));--cut:polygon(13.333% 0,86.667% 0,100% 100%,0 100%)}.fold-dust-bottom{width:67.5px;height:45px;left:0;top:270px;transform-origin:center top;transform:translateY(calc(-.4px*var(--dust))) rotateX(calc(-90deg*var(--dust)));--cut:polygon(0 0,100% 0,86.667% 100%,13.333% 100%)}
.fold-top{width:270px;height:67.5px;left:0;top:-67.5px;transform-origin:center bottom;transform:rotateX(calc(90deg*var(--lids)))}.fold-top-seal{width:270px;height:36px;left:0;top:-36px;transform-origin:center bottom;transform:translateY(calc(5px*var(--tucks))) rotateX(calc(90deg*var(--tucks)));--cut:polygon(4.444% 0,95.556% 0,100% 100%,0 100%)}
.fold-bottom{width:270px;height:67.5px;left:0;top:270px;transform-origin:center top;transform:rotateX(calc(-90deg*var(--lids)))}.fold-bottom-seal{width:270px;height:36px;left:0;top:67.5px;transform-origin:center top;transform:translateY(calc(-5px*var(--tucks))) rotateX(calc(-90deg*var(--tucks)));--cut:polygon(0 0,100% 0,95.556% 100%,4.444% 100%)}
.fold-left>.fold-shade{opacity:calc(var(--walls)*.12)}.fold-right>.fold-shade{opacity:calc(var(--walls)*.07)}.fold-back>.fold-shade{opacity:calc(var(--back)*.1)}.fold-bottom>.fold-shade{opacity:calc(var(--lids)*.13)}.fold-top>.fold-shade{background:#fff;opacity:calc(var(--lids)*.08)}
.fold-ground-shadow{position:absolute;width:42%;height:24px;left:29%;top:83%;border-radius:50%;background:#35211624;filter:blur(14px);opacity:calc(var(--fold)*(1 - var(--photo)))}
@media(prefers-reduced-motion:reduce){.fold-camera{will-change:auto}}
/* Ruled layouts, clear hierarchy, and two upright typefaces follow the reference. */
:root{--paper:#fcfaf4;--line:#333730;--muted:#62655b}
body{font-weight:400}main{margin:0 18px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.nav{margin:0 18px;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:28px 44px 32px}.nav nav{font-size:13px;gap:28px}.nav button{border-radius:0}
.process{grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:0;padding:48px 44px 56px;border-bottom:1px solid var(--line)}.visual-column{padding-right:42px;border-right:1px solid var(--line)}.visual-stage{border-radius:15px;background:#f1eee4;top:28px}.stage-grid{display:none}.stage-head,.stage-footer,.chapter-number,.eyebrow,.range-caption,.retail-detail figcaption,.deliverables,.family-flavors{font-family:'IBM Plex Mono',monospace}.stage-head,.stage-footer{font-size:8px;left:16px;right:16px}.stage-footer span:last-child{font-size:7px}.story-column{padding:0 0 0 42px}.chapter{min-height:62svh;padding:48px 0;border-bottom:1px solid var(--line);justify-content:center}.chapter:last-child{border-bottom:0}.chapter-heading{display:grid;grid-template-columns:40px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:24px}.chapter-number{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:0;margin:0;color:var(--ink)}.chapter h1,.chapter h2{font-family:'Manrope',Arial,sans-serif;font-size:29px;letter-spacing:0;font-weight:500;line-height:1.25;margin:0;text-transform:uppercase}.chapter>p{margin-left:66px;font-size:16px;line-height:1.7;color:#30342e}.chapter .chapter-small{font-size:14px;line-height:1.75;margin-top:18px;color:#575e50}.deliverables{margin:25px 0 0 66px;border-top:1px solid #bdc2b5;padding-top:16px;gap:7px;font-size:10px}.deliverables span{border:0;padding:0;font-size:10px}.deliverables span+span:before{content:'/';margin-right:7px;color:#777e6c}.swatches{margin-left:66px;margin-top:23px}.swatches span{font-size:10px}.fold-hint{margin:20px 0 0 66px;font-size:11px;font-style:normal}.concept-note{margin:24px 0 0 66px;border-color:#bdc2b5;font-size:10px}
.mallow-showcase,.retail-detail{padding:64px 44px 40px;background:var(--paper);border:0;border-bottom:1px solid var(--line)}.range-head,.retail-head{padding-bottom:32px;border-bottom:1px solid var(--line)}.range-head h2,.retail-head h2{font-size:31px;letter-spacing:0;line-height:1.3;font-weight:500;text-transform:uppercase}.range-head>p,.retail-head>p{font-size:15px;font-weight:400}.mallow-range-grid{gap:24px;margin:40px 0}.mallow-range-grid figure+figure{border-left:1px solid var(--line);padding-left:24px}.mallow-range-grid img,.retail-detail img{border:0;border-radius:14px}.mallow-range-grid figcaption{font-size:11px;line-height:1.5}.range-system-note{border-top:1px solid var(--line);padding-top:22px}.range-system-note p{font-size:15px;letter-spacing:0}.range-caption{border-color:#bdc2b5;font-size:9px}.retail-detail figcaption{font-size:9px}.studio{padding:64px 44px;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:0}.studio-title{border-right:1px solid var(--line);padding-right:42px}.studio-title h2{font-size:34px;letter-spacing:0;line-height:1.3;font-weight:500;text-transform:uppercase}.studio-content{padding-left:42px}.studio-content .studio-lead{font-size:17px;line-height:1.7;font-weight:400;letter-spacing:0}.studio-content>p:nth-child(2){font-size:15px;line-height:1.7}.service-list>div{padding:25px 0 25px 52px}.service-list>div>span{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;top:25px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink)}.service-list h3{font-size:19px;text-transform:uppercase;letter-spacing:0;font-weight:500}.service-list p{font-size:12px;margin-top:9px;line-height:1.6}.contact{background:var(--paper);color:var(--ink);padding:64px 44px;border-bottom:1px solid var(--line)}.contact h2{font-size:35px;letter-spacing:0;font-weight:500;line-height:1.3;text-transform:uppercase}.contact-button{background:transparent;border:1px solid var(--ink)}.contact-button:hover{background:#f1eedf}.contact>p{color:#62655b;font-size:13px}.contact-star{display:none}footer{margin:0 18px;padding:28px 44px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:1100px) and (min-width:901px){.nav nav{gap:18px;font-size:11px}.process,.mallow-showcase,.retail-detail,.studio,.contact{padding-left:30px;padding-right:30px}.visual-column{padding-right:27px}.story-column,.studio-content{padding-left:27px}.studio-title{padding-right:27px}.chapter-heading{grid-template-columns:34px minmax(0,1fr);gap:20px}.chapter-number{width:34px;height:34px;font-size:12px}.chapter h1,.chapter h2{font-size:23px}.chapter>p{margin-left:54px;font-size:14px}.chapter .chapter-small{font-size:13px}.deliverables,.swatches,.fold-hint,.concept-note{margin-left:54px}}
@media(max-width:900px){main,.nav,footer{margin-left:10px;margin-right:10px}.nav{padding:20px 18px 20px}.nav nav{gap:12px;font-size:10px}.process{display:block;padding:24px 16px 30px}.visual-column{padding:0;border-right:0;top:0;background:var(--paper);padding-bottom:15px}.visual-stage{top:0;height:50svh;min-height:320px;max-height:520px;border-radius:12px}.story-column{padding:0}.chapter{min-height:74svh;padding:38px 0;scroll-margin-top:53svh;border-bottom:1px solid var(--line)}.chapter-heading{grid-template-columns:34px minmax(0,1fr);gap:18px;margin-bottom:20px}.chapter-number{width:34px;height:34px;font-size:12px}.chapter h1,.chapter h2{font-size:24px;font-weight:500}.chapter>p{margin-left:52px;font-size:14px;line-height:1.75}.chapter .chapter-small{font-size:13px;line-height:1.75}.deliverables,.swatches,.fold-hint,.concept-note{margin-left:52px}.deliverables{font-size:9px}.deliverables span{font-size:9px}.stage-head,.stage-footer{left:9px;right:9px;font-size:6px}.stage-footer span:last-child{font-size:5px}.mallow-showcase,.retail-detail,.studio,.contact{padding:42px 20px 30px}.range-head,.retail-head{padding-bottom:25px}.range-head h2,.retail-head h2{font-size:25px}.range-head>p,.retail-head>p{font-size:13px}.mallow-range-grid{gap:10px;margin:30px 0}.mallow-range-grid figure+figure{padding-left:10px}.mallow-range-grid img{border-radius:8px}.mallow-range-grid figcaption{font-size:8px}.range-system-note p{font-size:14px}.range-caption{font-size:7px;gap:12px}.studio{display:block}.studio-title{border-right:0;border-bottom:1px solid var(--line);padding:0 0 27px}.studio-title h2{font-size:28px}.studio-content{padding:0;margin-top:27px}.studio-content .studio-lead{font-size:16px}.studio-content>p:nth-child(2){font-size:14px}.contact h2{font-size:28px}.contact-button{font-size:12px}footer{padding:25px 20px}.brand-logo{width:min(83vw,340px)}}
/* Equal image widths keep the three flavors aligned across the gallery. */
.mallow-range-grid{gap:48px}.mallow-range-grid figure+figure{border-left:0;padding-left:0;position:relative}.mallow-range-grid figure+figure:before{content:'';position:absolute;left:-24px;top:0;bottom:0;width:1px;background:var(--line)}
@media(max-width:900px){.mallow-range-grid{gap:20px}.mallow-range-grid figure+figure{padding-left:0}.mallow-range-grid figure+figure:before{left:-10px}}
/* Portfolio links belong to the shared Cart Blanche frame. */
.project-nav{margin:0 18px;padding:18px 44px;display:flex;align-items:center;gap:32px;border:1px solid var(--line);border-top:0;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.025em}
.project-nav>span{color:var(--muted);font-size:9px;margin-right:auto}.project-nav a{padding:5px 0;border-bottom:1px solid transparent}.project-nav a>span:first-child{font-size:9px;margin-right:10px;color:var(--muted)}.project-nav a.active,.project-nav a:hover{border-bottom-color:var(--ink)}
.next-project{display:grid;grid-template-columns:1fr;gap:20px;padding:42px 44px;border-bottom:1px solid var(--line)}.next-project .eyebrow{grid-column:1/-1}.next-project>span:nth-child(2){font-size:25px;line-height:1.3;font-weight:500}.next-project:hover{background:#f1eee4}
@media(max-width:900px){.project-nav{margin:0 10px;padding:16px 18px;gap:20px;font-size:10px}.project-nav>span{font-size:8px}.project-nav a>span:first-child{margin-right:6px}.next-project{padding:32px 20px;gap:15px}.next-project>span:nth-child(2){font-size:19px}}
@media(max-width:600px){.project-nav{display:grid;grid-template-columns:auto auto auto;justify-content:start;column-gap:18px;row-gap:10px}.project-nav>span{grid-column:1/-1;margin-right:0}.project-nav a{font-size:9px;white-space:nowrap}}
/* Frame the supplied wordmark without its screenshot margins. */
.brand-logo{aspect-ratio:1156/481}
.brand-logo img{width:108.651%;left:-4.152%;top:-16.008%}

@media(max-width:600px){.project-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.project-nav>span{grid-column:1/-1}}

/* Keep the new footer line readable on every screen. */
@media(max-width:900px){footer>span:nth-child(2){display:block;font-size:11px}}

.contact h2{text-transform:none}

/* Shared footer: studio links, social channels, and a newsletter placeholder. */
.site-footer{display:block;padding:52px 44px 24px;font-size:12px}
.footer-top{display:grid;grid-template-columns:1.05fr .65fr .8fr 1.3fr;gap:36px;align-items:start}
.site-footer .brand-logo{width:min(100%,225px)}
.footer-brand>p{font-size:13px;margin-top:19px;line-height:1.6}
.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.footer-socials .social-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--ink);border-radius:50%}

.footer-socials svg{display:block;width:17px;height:17px}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.footer-link-group h2{font:10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;line-height:1.5}
.footer-link-group a{font-size:12px;line-height:1.7}
.footer-link-group a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-newsletter{min-width:0}
.footer-newsletter h2{font-size:25px;font-weight:500;letter-spacing:-.025em;line-height:1.25}
.footer-newsletter>p{font-size:12px;line-height:1.8;max-width:310px;margin-top:15px;color:var(--muted)}
.footer-newsletter .newsletter-form{margin-top:24px}
.newsletter-form label{margin:0 0 10px;font-size:10px;line-height:1.6}
.newsletter-input-row{display:flex;gap:0;align-items:stretch;border:1px solid var(--ink)}
.newsletter-input-row input{flex:1;min-width:0;width:auto;font-size:12px;border:0;padding:12px 16px;margin:0;background:transparent}
.newsletter-input-row input:focus{border:0;outline:1px solid var(--ink);outline-offset:2px}
.newsletter-input-row button{flex:none;min-height:46px;border:0;border-left:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:12px;font-weight:500;white-space:nowrap;display:flex;align-items:center;justify-content:center}

#newsletter-status{font-size:10px;line-height:1.6;min-height:17px;margin-top:10px;color:var(--muted)}
.footer-bottom{border-top:1px solid var(--line);margin-top:42px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;line-height:1.7}
.footer-preview-status{margin-right:auto;color:var(--muted);font-size:10px}
.footer-bottom>a{white-space:nowrap}.footer-bottom>a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px) and (min-width:901px){.site-footer{padding:42px 30px 24px}.footer-top{gap:26px;grid-template-columns:1fr .7fr .9fr 1.2fr}.footer-newsletter h2{font-size:23px}.newsletter-input-row{gap:0}.newsletter-input-row button{gap:8px}}
@media(max-width:900px){.site-footer{padding:36px 20px 25px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 25px}.footer-brand{grid-column:1/-1}.site-footer .brand-logo{width:200px}.footer-brand>p{font-size:12px;margin-top:15px}.footer-socials{margin-top:21px}.footer-link-group{gap:12px}.footer-link-group h2{margin-bottom:6px;font-size:9px}.footer-link-group a{font-size:11px}.footer-newsletter{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px}.footer-newsletter h2{font-size:26px}.footer-newsletter h2 br{display:none}.footer-newsletter>p{max-width:400px;font-size:12px}.footer-newsletter .newsletter-form{margin-top:20px}.newsletter-input-row input,.newsletter-input-row button{font-size:12px}.footer-bottom{flex-wrap:wrap;margin-top:25px;padding-top:20px;gap:12px;font-size:9px}.footer-preview-status{order:3;flex-basis:100%;min-height:0}.footer-preview-status:empty{display:none}.footer-bottom>a{margin-left:auto}}

/* The studio introduction now lives beneath the contact headline. */
.contact{display:flex;justify-content:space-between;align-items:center;gap:60px}
.contact-copy{max-width:870px;min-width:0}
.contact-copy h2,.contact .contact-copy h2{margin:0 0 24px}
.contact-copy p{font-size:16px;line-height:1.8;color:var(--ink);max-width:800px}
.contact-copy p+p{margin-top:15px}
.contact .contact-button{flex:none;white-space:nowrap}
@media(max-width:900px){.contact{display:block}.contact-copy h2,.contact .contact-copy h2{margin-bottom:22px}.contact-copy p{font-size:14px;line-height:1.8}.contact .contact-button{margin-top:24px}}

/* The studio's location anchors the shared footer. */
.footer-brand>p{max-width:210px}
.footer-location{margin-left:auto;text-align:right;line-height:1.7;max-width:280px}
.footer-location p+p{color:var(--muted);margin-top:2px}
.footer-preview-status:empty{display:none}
.footer-preview-status:not(:empty){flex-basis:100%;order:3;margin:0}
.footer-bottom{flex-wrap:wrap}
@media(max-width:900px){.footer-location{flex-basis:100%;max-width:none;margin:0;order:3;text-align:left}.footer-preview-status:not(:empty){order:4}}
/* A unified shared footer: studio identity, newsletter, then one navigation row. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.site-footer .brand-logo{width:230px;max-width:100%}
.footer-brand>p.footer-slogan{font-size:16px;line-height:1.6;max-width:none;margin-top:20px}
.footer-brand .footer-location{margin:24px 0 0;max-width:none;text-align:left;font-size:13px;line-height:1.7}
.footer-newsletter{max-width:430px;width:100%;justify-self:end}
.footer-newsletter h2{font-size:30px;line-height:1.25}
.footer-newsletter>p{font-size:16px;line-height:1.7;max-width:430px;margin-top:16px}
.newsletter-preview{margin-top:24px}
.newsletter-preview label{display:block;font-size:14px;margin-bottom:8px}
.newsletter-input-row{gap:0}
.newsletter-input-row input,.newsletter-input-row button{font-size:15px;padding-top:12px;padding-bottom:12px}
.newsletter-input-row input:disabled{opacity:1;color:var(--muted);-webkit-text-fill-color:var(--muted);cursor:default}
.newsletter-input-row input::placeholder{opacity:1;color:var(--muted)}
.newsletter-input-row button:disabled{opacity:1;color:var(--paper);-webkit-text-fill-color:var(--paper);cursor:default}
#newsletter-status{font-size:13px;margin-top:10px;min-height:0}
.footer-bottom{margin-top:36px;padding-top:20px;font-size:13px;align-items:center;gap:20px}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:24px;margin-left:auto}
.footer-bottom nav a{line-height:1.7}
.footer-bottom nav a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom>a{margin-left:20px}
@media(max-width:900px){
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
 .footer-brand{grid-column:auto}
 .footer-newsletter{grid-column:auto;border:0;padding:0}
 .footer-newsletter h2{font-size:26px}
 .footer-newsletter>p{font-size:15px}
 .footer-brand>p.footer-slogan{font-size:15px}
 .footer-brand .footer-location{order:initial;flex-basis:auto;font-size:13px}
 .site-footer .brand-logo{width:200px}
 .footer-bottom{font-size:12px;gap:14px}
 .footer-bottom nav{gap:20px}
 .footer-bottom>a{margin-left:auto}
}
@media(max-width:620px){
 .footer-top{grid-template-columns:1fr;gap:32px}
 .footer-newsletter{justify-self:start;max-width:none;border-top:1px solid var(--line);padding-top:28px}
 .footer-bottom nav{margin-left:0;order:3;flex-basis:100%;gap:24px}
}
.contact{flex-wrap:wrap}
.contact>.inquiry-status{font-size:13px;line-height:1.6;flex-basis:100%;margin:0;color:var(--muted)}
.contact{row-gap:12px}

/* Explain inquiry availability in the action itself. */
.nav .brief-open,.home-contact .brief-open,.contact .brief-open{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;white-space:nowrap}
.nav .brief-open .button-status,.home-contact .brief-open .button-status,.contact .brief-open .button-status{font:400 11px/1.4 'Manrope',Arial,sans-serif;letter-spacing:0;margin:0;opacity:.75}
@media(max-width:900px){.nav nav{flex-wrap:wrap;row-gap:12px}}

/* Contact form is loaded only when a visitor opens it. */
.nav nav{flex-wrap:wrap;justify-content:flex-end;row-gap:12px}
@media(max-width:900px){.nav nav{justify-content:space-between}}
.contact-dialog{width:min(620px,calc(100% - 28px));padding:38px 36px 18px;background:#fbf9f2}
.contact-dialog h2{font-size:34px;line-height:1.1;margin:12px 24px 20px 0;letter-spacing:-1px}
.contact-dialog iframe{display:block;width:100%;border:0}
.contact-dialog .contact-form-fallback{font-size:11px;margin:8px 0 0;color:var(--muted)}
.contact-form-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.contact-dialog{padding:30px 22px 16px}.contact-dialog h2{font-size:29px}}
