/* SOAI editorial direction: photographic scale, precise type, cool colour. */
:root{--paper:#fafaf8;--ink:#171819;--muted:#64686d;--pink:#d8e4ef;--wine:#273e65;--line:#d6d9dc;--acid:#d7cfdf;--serif:'Bodoni 72','Didot','Songti SC','STSong',serif}
.header{height:100px;padding:0 4%;background:#fafaf8;border-bottom:1px solid #17181925}.header .brand{font-size:46px;letter-spacing:-.055em;gap:18px}.header .brand span{font-size:12px;letter-spacing:.12em}.header nav{gap:28px;font-size:14px}.header nav a{padding:12px 0}.present-button{border:0;border-bottom:1px solid var(--ink);padding:8px 0;letter-spacing:.06em;min-height:44px}.hero{height:calc(100svh - 100px);min-height:640px;max-height:1100px}.hero-image{object-position:center 48%}.hero-shade{background:linear-gradient(0deg,#000b,transparent 60%),linear-gradient(180deg,#0003,transparent 35%)}.hero-meta{top:30px;left:4%;right:4%;letter-spacing:.1em}.hero-wordmark{position:absolute;top:54px;left:0;right:0;font:400 clamp(120px,22vw,330px)/.84 'Bodoni 72','Didot',Georgia,serif;letter-spacing:-.055em;text-align:center;color:#fafaf8;pointer-events:none}.hero-copy{left:4%;right:4%;top:auto;bottom:85px;display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:10px 60px}.hero-copy .eyebrow{grid-column:1/-1;color:var(--acid);font-size:12px;letter-spacing:.14em}.hero h1{font-size:clamp(34px,3.6vw,56px);margin:8px 0 0;line-height:1.35;letter-spacing:.03em;text-shadow:none;grid-row:2/4}.hero h1 em{color:white}.hero-copy p:not(.eyebrow){font-size:15px;justify-self:end;text-align:right;color:#f1f1ef}.hero .line-link{margin-top:8px;justify-self:end;color:white}.hero-footer{left:4%;right:4%;bottom:23px;font-size:12px;border-top:1px solid #ffffff50;padding-top:15px}.section{padding:110px 7% 120px}.section-label{font-size:12px;letter-spacing:.09em;border-color:#17181980;margin-bottom:72px;padding-top:16px}.section-label>span:first-child{letter-spacing:.1em}h2{font-size:clamp(40px,4.5vw,72px);line-height:1.28;letter-spacing:.02em}h2 i{font-style:normal}.section-heading{margin-bottom:52px}.about-layout{grid-template-columns:1.1fr 1fr;gap:11%}.about h2{font-size:clamp(62px,7vw,110px);line-height:1.2;letter-spacing:.01em}.about h2 i{color:#73869b}.about-copy .large-copy{font-size:26px;line-height:1.8}.principles{gap:24px;margin-top:35px}.principles b{color:#687f9b}.principles h3{font-size:17px;font-weight:500}.work{background:#f0f2f4;padding-left:4%;padding-right:4%}.work .section-label{margin-bottom:60px}.work .section-heading{padding:0 3%}.filters{padding:0 3%;gap:25px;margin:0 0 40px}.filters button{padding:5px 0;border:0;border-bottom:1px solid transparent;border-radius:0;min-height:44px;font-size:14px}.filters button.active{background:none;color:var(--ink);border-color:var(--ink)}.case-grid{grid-template-columns:1fr 1fr;gap:65px 3%;align-items:start}.case-card:first-child{grid-column:1/-1}.case-card:first-child .case-image{aspect-ratio:2.15}.case-card:first-child .case-info{padding-left:3%;padding-right:3%}.case-card:first-child .case-info h3{font-size:36px}.case-card:first-child .case-caption{padding-left:3%}.case-image{aspect-ratio:1.12}.case-card:nth-child(3){margin-top:110px}.case-card:nth-child(4){margin-top:-65px}.case-card:nth-child(5){margin-top:45px}.case-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.case-image>span{border:0;border-bottom:1px solid #ffffffb0;background:#0005;padding:5px 0;right:24px;bottom:24px;font-size:14px}.case-info{padding:22px 0 0}.case-info h3{font:400 28px/1.4 var(--serif);letter-spacing:.02em}.case-info p{margin-top:10px;font-size:13px}.case-caption{font-size:14px;padding-top:8px}.case-number{font:400 16px/1.4 var(--sans);color:#576478}.creative{margin:90px 3% 0;padding-top:45px;gap:30px;border-color:#a7afb8}.creative>div .eyebrow{display:inline-block;background:var(--acid);color:#171819;padding:6px 10px;font-size:12px}.creative h3{font:400 32px/1.5 var(--serif);margin:20px 0}.creative-card img{height:230px}.creative-card span{margin-top:18px}.creative-card small{font-size:12px}.reality{background:#191d23;color:#f4f6f8}.reality .section-label{border-color:#a5adbb}.reality h2 i{color:#c9d8ed}.compare-layout{grid-template-columns:2.7fr 1fr;gap:50px}.compare-stage{aspect-ratio:1.65}.compare-divider{background:var(--acid)}.compare-divider span{background:var(--acid);width:46px;height:46px;font-size:22px}.compare-tag{padding:7px 12px;border:1px solid #ffffff30;background:#191d23b0}.compare-choices button{opacity:.6;border-color:#667184}.compare-choices button.active{border:2px solid var(--acid);opacity:1}.compare-side .eyebrow{color:var(--acid)}.compare-side h3{font:400 28px/1.5 var(--serif)}.service{background:#fafaf8}.service-grid{gap:35px;margin:60px 0}.service-grid article>span{color:#476084}.service-grid h3{margin-top:28px}.process summary b{color:#476084;font:400 22px Georgia}.process details{padding:27px 0}.team{background:#dde7f0}.team-intro{grid-template-columns:1fr 1.2fr;gap:12%;margin-bottom:65px}.team-intro h2{font-size:84px;margin-top:25px}.founder-role{color:#32455c}.department-grid{border-color:#889db2}.department-grid article{border-color:#889db2;padding:35px 20px}.department-grid span{color:#334e6c}.department-grid p{color:#4b6278}.department-grid h3{font-size:27px}.fees{background:#f6f6f3}.notice{background:#e4e9ee;border-left:3px solid #506a8b;padding:28px}.price-table th{background:#e6eaed}.payment strong{color:#273e65;font-size:43px}.payment div:first-child strong{font-size:26px}.review-empty{text-align:left;padding:50px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:10px 50px}.review-empty .eyebrow{grid-column:1/-1;color:#476084}.review-empty h3{font-size:38px;margin:20px 0}.review-empty p{margin-top:26px}.review-empty[hidden]{display:none}.contact{background:#182638;padding:85px 7% 65px;position:relative;overflow:hidden}.contact>.eyebrow{color:var(--acid)}.contact h2{font-size:clamp(60px,7vw,105px);line-height:1.3;margin:45px 0 65px}.contact h2 i{color:#d3e2f1}.contact-bottom{padding-top:36px}.contact p{color:#dae3ef}.contact small,.contact .source-note{color:#b9c7d7}.contact .brand{font-size:66px;letter-spacing:-.06em}.contact .brand span{font-size:12px;letter-spacing:.1em;white-space:nowrap;max-width:none}.contact-endmark{font:400 clamp(120px,24vw,370px)/.85 'Bodoni 72','Didot',Georgia,serif;letter-spacing:-.07em;padding-top:90px;color:#f5f7f9;text-align:center}.presentation-bar{border-radius:0;background:#182638f5}.dialog-top{background:#fafaf8}.viewer-head h2{letter-spacing:.01em}.pending-box{border:1px solid #aab3bf}.edit-actions button:first-child{background:#182638}.user-supplied .eyebrow{color:#476084}footer{background:#fafaf8}
@media(min-width:1500px){.work{padding-left:4%;padding-right:4%}.hero-copy{bottom:110px}}
@media(max-width:1100px){.header{height:90px;padding:0 4%}.header .brand{font-size:38px}.header nav{gap:20px}.hero{height:calc(100svh - 90px)}.hero-wordmark{top:70px;font-size:24vw}.hero-copy{bottom:86px;gap:8px 30px}.section{padding:80px 6% 90px}.work{padding-left:4%;padding-right:4%}.section-label{margin-bottom:55px}.section-heading{gap:30px}.about-layout{gap:8%}.about h2{font-size:74px}.case-card:first-child .case-info h3{font-size:30px}.case-info h3{font-size:25px}.case-card:nth-child(3){margin-top:60px}.case-card:nth-child(4){margin-top:-30px}.case-card:nth-child(5){margin-top:25px}.creative{gap:25px}.creative-card img{height:180px}.creative h3{font-size:27px}.compare-layout{grid-template-columns:2.3fr 1fr;gap:25px}.team-intro h2{font-size:64px}.department-grid article{padding:28px 12px}.department-grid h3{font-size:24px}.payment div:first-child strong{font-size:21px}.contact-bottom{gap:25px}.contact .brand{font-size:48px}.contact .brand span{max-width:75px;white-space:normal}.contact-endmark{padding-top:65px}}
@media(max-width:760px){html{scroll-padding-top:76px}.header{height:76px;padding:0 5%;gap:10px}.header .brand{font-size:34px;gap:10px}.header .brand span{font-size:10px}.header nav{top:75px;padding:18px 5%;gap:15px 25px;background:var(--paper)}.present-button{font-size:12px;letter-spacing:0;padding:6px 0}.hero{height:calc(100svh - 76px);min-height:640px}.hero-meta{top:22px;left:6%;right:6%;font-size:10px}.hero-wordmark{top:83px;font-size:29vw;letter-spacing:-.055em}.hero-image{object-position:54% center}.hero-shade{background:linear-gradient(0deg,#000c,transparent 80%),linear-gradient(180deg,#0005,transparent 35%)}.hero-copy{left:7%;right:7%;bottom:93px;display:block}.hero-copy .eyebrow{font-size:11px;margin-bottom:12px}.hero h1{font-size:36px;line-height:1.45;margin:0 0 22px}.hero-copy p:not(.eyebrow){font-size:14px;text-align:left}.hero .line-link{margin-top:18px;font-size:14px}.hero-footer{left:7%;right:7%;font-size:10px;bottom:20px}.section{padding:60px 7% 70px}.section-label{margin-bottom:38px;font-size:10px;gap:15px}.section-heading h2{font-size:38px;line-height:1.4}.section-heading{margin-bottom:30px}.section-heading>p,.section-heading>div{margin-top:22px}.about-layout{grid-template-columns:1fr;gap:35px}.about h2{font-size:52px}.about-copy .large-copy{font-size:23px}.work{padding-left:5%;padding-right:5%}.work .section-label{margin-bottom:40px}.work .section-heading{padding:0 2%}.filters{padding:0 2%;gap:21px;margin-bottom:26px}.filters button{font-size:14px}.case-grid{grid-template-columns:1fr;gap:35px}.case-card:first-child{grid-column:auto}.case-card:first-child .case-image{aspect-ratio:1.35}.case-card:first-child .case-info,.case-card:first-child .case-caption{padding-left:0;padding-right:0}.case-card:first-child .case-info h3{font-size:25px}.case-card:nth-child(n){margin-top:0}.case-image{aspect-ratio:1.15}.case-info h3{font-size:25px}.case-info p{font-size:12px}.case-image>span{right:16px;bottom:16px;font-size:12px}.creative{margin:50px 2% 0;padding-top:30px;grid-template-columns:1fr 1fr;gap:18px}.creative h3{font-size:26px}.creative-card img{height:150px}.creative-card span{font-size:14px}.compare-layout{grid-template-columns:1fr;gap:24px}.compare-stage{aspect-ratio:1.5}.compare-side h3{font-size:25px}.compare-tag{padding:5px 8px;font-size:10px}.service-grid{grid-template-columns:1fr 1fr;gap:28px 22px;margin:35px 0}.service-grid h3{font-size:22px;margin-top:20px}.service-grid p{font-size:14px}.process summary span{font-size:22px}.team-intro{grid-template-columns:1fr;gap:28px;margin-bottom:38px}.team-intro h2{font-size:60px}.department-grid{grid-template-columns:1fr 1fr}.department-grid article{border-color:#889db2;padding:25px 14px!important}.department-grid article:last-child{grid-column:1/-1}.department-grid h3{font-size:25px}.notice{padding:22px}.payment strong{font-size:36px}.payment div:first-child strong{font-size:20px}.review-empty{display:block;padding:36px 0}.review-empty h3{font-size:30px;margin:20px 0}.review-empty p{margin-top:15px}.contact{padding:65px 7% 45px}.contact h2{font-size:54px;margin:35px 0 45px}.contact-bottom{flex-direction:column;gap:28px}.contact .brand{font-size:48px}.contact .brand span{white-space:nowrap;max-width:none}.contact-endmark{font-size:28vw;padding-top:55px}.source-note{font-size:12px}.presentation-bar{width:94%}.case-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* 2026-10-03: original photography, quiet authorship, unified briefing. */
.hero-wordmark{font-size:clamp(120px,18vw,270px);top:62px}.hero-image{object-position:center 47%}.hero-shade{background:linear-gradient(0deg,#000c,transparent 65%),linear-gradient(180deg,#0004,transparent 40%)}.archive-link{grid-column:1/-1;justify-self:start;margin-top:8px;font-size:14px}.case-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.case-notes h3{font-size:15px;color:#476084}.case-notes p{font-size:14px;margin-top:8px}.team-panel{background:#e1e9f0;padding:38px 40px;margin:45px -2% 55px;scroll-margin-top:110px}.panel-heading{margin-bottom:28px}.panel-heading h3{font:400 28px/1.5 var(--serif);margin-top:14px}.team-panel .department-grid{border-color:#9caab9}.team-panel .department-grid article{padding:25px 18px;border-color:#9caab9}.team-panel .department-grid h3{font-size:24px;margin:16px 0 6px}.team-panel .department-grid p{font-size:14px}.founder-signature{font-size:14px;color:#4c6076;margin-top:28px}.founder-signature span{display:block;font-size:13px;margin-top:5px}.team-panel .subtle-details{margin-top:20px}.milestone-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 30px;margin-bottom:30px}.milestone-heading .eyebrow{width:100%;color:#476084}.milestone-heading h3{font:400 28px/1.5 var(--serif)}.milestone-heading p{font-size:14px;margin-left:auto}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;border-top:0;align-items:start}.process details{border-top:1px solid var(--line);padding:22px 0;border-bottom:0}.process summary{align-items:start;gap:14px;position:relative}.process summary span{display:block;font-size:20px;white-space:nowrap}.process small{display:block;margin-top:7px;font-size:11px}.process summary:after{font-size:21px;position:absolute;top:43px;right:0}.process summary b{font-size:17px;line-height:1.8}.process details p{padding:18px 0 0;font-size:14px;line-height:1.9}.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin:45px 0 20px}.price-cards article{border-top:1px solid #71839a;padding:28px 0}.price-cards span{font-size:13px;color:#476084;letter-spacing:.08em}.price-cards strong{display:flex;align-items:baseline;gap:20px;font:400 clamp(42px,5vw,72px)/1.4 'Didot',Georgia,serif;color:#203855;margin:25px 0 18px}.price-cards strong small{font:14px/1.5 var(--sans)}.price-cards p{font-size:15px}.social-link{border-bottom:1px solid #ffffff60;padding-bottom:3px}.mini-figure{max-width:380px;margin:0 auto!important;background:white;padding:20px}.mini-figure img{background:white}.mini-figure figcaption{text-align:center}.design-study{display:flex;align-items:center;gap:25px;text-align:left;padding:0;margin-top:42px;max-width:600px;color:var(--paper)}.design-study img{width:185px;aspect-ratio:1.7;object-fit:cover}.design-study span{font:25px/1.6 var(--serif)}.design-study small{display:block;font:12px/1.8 var(--sans);color:#c5d2e3}.viewer-gallery .mini-figure{grid-column:1/-1}.case-info p:empty{display:none}
@media(max-width:1100px){.team-panel{padding:30px;margin-left:0;margin-right:0}.process{gap:18px}.process summary span{font-size:18px}.process summary{gap:9px}.process details p{font-size:13px}.milestone-heading h3{font-size:26px}}
@media(max-width:760px){.hero-wordmark{top:90px;font-size:28vw}.hero h1{font-size:36px}.hero-copy p:not(.eyebrow){text-align:left;justify-self:start}.case-notes{grid-template-columns:1fr;gap:18px}.team-panel{padding:26px 20px;margin:30px -2% 40px;scroll-margin-top:90px}.panel-heading h3{font-size:25px}.team-panel .department-grid article{padding:20px 12px!important}.team-panel .department-grid h3{font-size:23px}.team-panel .department-grid span{font-size:10px;letter-spacing:0}.team-panel .department-grid p{font-size:13px}.founder-signature{font-size:13px;line-height:1.9}.founder-signature span{font-size:12px}.milestone-heading{display:block}.milestone-heading h3{font-size:25px;margin-top:12px}.milestone-heading p{margin-top:12px}.process{grid-template-columns:1fr;gap:0}.process details{padding:23px 0}.process summary{gap:20px}.process summary span{display:flex;align-items:center;gap:20px;font-size:21px}.process small{margin:0;font-size:11px}.process summary:after{position:static;font-size:24px}.process details p{padding:16px 0 0 40px;font-size:14px}.price-cards{grid-template-columns:1fr;gap:8px;margin-top:28px}.price-cards strong{font-size:52px;margin:15px 0}.price-cards article{padding:22px 0}.price-cards p{font-size:14px}.design-study{gap:20px}.design-study img{width:125px}.design-study span{font-size:21px}}

.compare-stage.spread{background:#eef0f1}.compare-stage.spread>img{left:50%;width:50%;object-fit:contain}.compare-stage.spread #design-wrap{width:50%;clip-path:none!important;background:#f5eeea}.compare-stage.spread #design-wrap img{object-fit:contain}.compare-stage input[hidden],.compare-stage .compare-divider[hidden]{display:none}

/* Client voices */
.review-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:48px}.review-card{border-top:1px solid #a8b0a7;padding:24px 0;display:flex;flex-direction:column;align-items:flex-start}.review-card .eyebrow{font-size:11px;color:#6f7c73}.review-card blockquote{font:400 25px/1.8 var(--serif);margin:32px 0;flex:1;letter-spacing:.02em}.review-card .line-link{font-size:12px;color:#526258}.review-source-note{font-size:11px;color:#778279;margin:8px 0 30px}.compare-choices{grid-template-columns:repeat(4,1fr)}
/* Campaign cover: image-led, restrained monochrome masthead. */
.header{height:76px;padding:0 36px;background:#fff;border-bottom:1px solid #e8e8e8;gap:24px}.header .brand{font:600 35px/1 'Didot','Bodoni 72','Times New Roman',serif;letter-spacing:.06em;gap:16px}.header .brand span{font:10px/1.5 var(--sans);letter-spacing:.14em}.header nav{font-size:12px;gap:30px}.header .present-button{font-size:11px;border:0;padding:0;letter-spacing:.04em}.campaign-cover{height:auto;min-height:0;max-height:none;background:#faf9f6;color:#111;padding:0;overflow:hidden}.campaign-art{height:calc(100svh - 225px);min-height:430px;max-height:880px;display:flex;align-items:center;justify-content:center}.campaign-art img{width:100%;height:100%;object-fit:contain;display:block}.campaign-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;background:white;padding:32px 4.5% 38px;border-top:1px solid #f0eeea}.campaign-kicker{font:10px/1.5 var(--sans);letter-spacing:.2em;color:#555;margin:0 0 11px}.campaign-cover h1{font:400 clamp(24px,2.15vw,34px)/1.5 var(--serif);letter-spacing:.08em;color:#111;margin:0}.campaign-explore{display:flex;gap:40px;align-items:center;font-size:12px;letter-spacing:.06em;border-bottom:1px solid #171717;padding:12px 0 8px;white-space:nowrap}.campaign-explore span{font-size:18px}.campaign-explore:hover{opacity:.6}html{scroll-padding-top:76px}
@media(max-width:1100px){.header{padding:0 24px}.header .brand{font-size:30px;gap:10px}.header nav{gap:20px}.header .brand span{font-size:9px}.campaign-art{min-height:370px}.review-gallery{gap:25px}.review-card blockquote{font-size:22px}}
@media(max-width:760px){.header{height:68px;padding:0 20px;gap:14px}.header .brand{font-size:30px;gap:10px}.header .brand span{font-size:8px;letter-spacing:.08em}.header nav{top:67px;background:#fff;font-size:13px}.header .present-button{font-size:10px}.menu-toggle{font-size:11px;padding:0}.campaign-cover{height:auto;min-height:0;max-height:none}.campaign-art{height:auto;min-height:0;padding:45px 0 30px}.campaign-art img{width:100%;height:auto;object-fit:contain}.campaign-caption{display:block;padding:32px 7% 40px;min-height:235px}.campaign-kicker{font-size:9px;letter-spacing:.16em;margin-bottom:16px}.campaign-cover h1{font-size:25px;max-width:300px;line-height:1.7;letter-spacing:.06em;text-wrap:balance}.campaign-explore{display:inline-flex;font-size:11px;gap:35px;margin-top:24px}.review-gallery{grid-template-columns:1fr;gap:12px;margin-top:30px}.review-card{padding:22px 0}.review-card blockquote{font-size:23px;margin:22px 0}.review-source-note{line-height:1.8}html{scroll-padding-top:68px}}

@media(max-width:760px){.campaign-cover h1 span{display:block;white-space:nowrap}.campaign-cover h1{font-size:24px;letter-spacing:.03em}}

/* Compact work index */
.work{padding-left:7%;padding-right:7%}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}.case-card:nth-child(n){margin:0;grid-column:auto}.case-card:nth-child(n) .case-image{aspect-ratio:1.5}.case-card:nth-child(n) .case-info{padding:16px 0 0;display:flex;gap:12px}.case-card:nth-child(n) .case-info h3{font-size:22px;line-height:1.5;letter-spacing:.015em}.case-card:nth-child(n) .case-info p{font-size:10px;margin-top:4px}.case-card:nth-child(n) .case-caption{font-size:11px;padding:0;margin-top:4px}.case-number{font-size:10px}.case-image>span{font-size:10px;padding:7px 10px;right:12px;bottom:12px}.case-card img{transition:transform .5s}.case-card:hover img{transform:scale(1.025)}
/* Interactive reveal */
.compare-layout{grid-template-columns:minmax(0,2.3fr) minmax(230px,1fr);gap:40px}.compare-stage{background:#101519;aspect-ratio:1.65}.compare-stage #design-wrap,.reveal-design{position:absolute;inset:0;background:#101519;clip-path:inset(0 50% 0 0)}.compare-stage #design-wrap img,.reveal-design img{height:100%;width:100%;max-width:none;object-fit:contain}.compare-stage input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.compare-stage:focus-within{outline:2px solid #e1ff83;outline-offset:4px}.compare-tag{pointer-events:none;z-index:6}.reveal-actions{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.reveal-actions button{border:1px solid #a5b1bd;color:inherit;font-size:11px;padding:8px 12px;min-height:40px}.reveal-actions button:hover{background:#ffffff1c}.compare-side p{font-size:13px;min-height:52px}.expanded-compare{margin:24px 6% 0;aspect-ratio:1.75}.viewer-content>.reveal-actions{margin:22px 6%}.viewer-content>.reveal-actions button{border-color:#7c8790}.compare-choices{gap:8px}.compare-choices img{aspect-ratio:1.4;object-fit:cover}
/* Long-form client voices */
.review-gallery{gap:30px 38px}.review-card blockquote{font:400 16px/1.95 var(--sans);letter-spacing:0;margin:22px 0 26px}.review-card .eyebrow{font-size:10px}.review-card{padding:22px 0 8px}.review-card blockquote:before{content:'“';display:block;font:48px/.8 var(--serif);color:#a8b1a8;margin:5px 0 15px}
/* Project quotation */
.quotation-showcase{margin-top:55px;background:#fff;padding:38px;border:1px solid #d9dfe5;color:#1e2934}.quotation-intro h3{font:400 29px/1.5 var(--serif);margin:14px 0 12px}.quotation-intro p{font-size:13px}.quotation-intro .eyebrow{font-size:10px;color:#69798a}.quote-tabs{display:flex;gap:25px;border-bottom:1px solid #d5dce3;margin-top:28px}.quote-tabs button{font-size:13px;padding:12px 0;border-bottom:2px solid transparent;color:#667381;min-height:44px}.quote-tabs button.active{color:#172b41;border-color:#172b41}.quote-header{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:32px 0}.quote-header .eyebrow{font-size:9px;letter-spacing:.18em;color:#7a8896}.quote-header h3{font:400 26px/1.5 var(--serif);margin-top:10px}.quote-meta{font-size:11px;margin-top:8px}.quote-total{text-align:right}.quote-total>span{display:block;font-size:10px;color:#768394}.quote-total strong{font:400 38px/1.4 'Didot',Georgia,serif;display:block;white-space:nowrap;margin-top:8px}.quote-offer{display:flex;align-items:center;gap:18px;margin-top:7px;font-size:11px}.quote-offer b{font-size:17px;font-weight:500;color:#203850}.quote-group{border-top:1px solid #dbe0e6}.quote-group:last-child{border-bottom:1px solid #dbe0e6}.quote-group summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:14px;padding:18px 0}.quote-group summary::-webkit-details-marker{display:none}.quote-group summary span{display:flex;gap:10px;align-items:center}.quote-group summary span:before{content:'+';width:14px;font-size:17px;color:#788593}.quote-group[open] summary span:before{content:'−'}.quote-group summary b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-table-scroll{overflow:auto}.quote-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:580px;font-size:12px;margin-bottom:24px;font-variant-numeric:tabular-nums}.quote-table th{font-weight:400;color:#6c7a87;background:#f3f6f8;text-align:right;padding:12px 10px;font-size:10px}.quote-table th:first-child{width:54%;text-align:left}.quote-table th:nth-child(2),.quote-table th:nth-child(3){width:8%}.quote-table th:nth-child(4),.quote-table th:nth-child(5){width:15%}.quote-table td{padding:13px 10px;border-bottom:1px solid #edf0f3;text-align:right;vertical-align:top}.quote-table td:first-child{text-align:left}.quote-table strong{display:block;font-weight:500;font-size:12px}.quote-table small{display:block;font-size:11px;line-height:1.7;color:#788594;margin-top:4px;overflow-wrap:anywhere}.quote-excluded{color:#8b97a2;background:#fafbfc}.quote-excluded em{display:block;font-size:10px;font-style:normal;margin-top:6px;color:#88939d}.quote-note{font-size:11px;color:#6b7a89;line-height:1.9;margin-top:24px}.quotation-showcase .source-note{font-size:10px;margin-top:12px}.quote-sample-note{font-size:11px;color:#7a8692;margin-top:24px;padding-top:20px;border-top:1px solid #e1e6eb}
@media(max-width:1100px){.case-grid{gap:28px 20px}.case-card:nth-child(n) .case-info h3{font-size:19px}.compare-layout{gap:25px}.reveal-actions button{padding:7px 9px}.quotation-showcase{padding:28px}}
@media(max-width:760px){.work{padding-left:6%;padding-right:6%}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.case-card:nth-child(n) .case-image{aspect-ratio:1.3}.case-card:nth-child(n) .case-info h3{font-size:15px}.case-card:nth-child(n) .case-info{padding-top:10px;gap:4px}.case-card:nth-child(n) .case-info p{font-size:9px;line-height:1.7}.case-card:nth-child(n) .case-caption{font-size:9px}.case-number{display:none}.case-image>span{font-size:8px;padding:5px 6px;right:7px;bottom:7px}.compare-layout{grid-template-columns:1fr}.compare-stage{aspect-ratio:1.45}.reveal-actions{margin:16px 0}.reveal-actions button{font-size:11px;padding:8px 11px}.compare-side p{min-height:0}.expanded-compare{margin:18px 5% 0;aspect-ratio:1.45}.review-gallery{gap:15px}.review-card blockquote{font-size:15px;line-height:2}.quotation-showcase{padding:24px 18px;margin:35px -2% 0}.quotation-intro h3{font-size:25px}.quotation-intro p{font-size:12px}.quote-tabs{gap:20px;margin-top:20px}.quote-tabs button{font-size:11px;text-align:left}.quote-header{flex-direction:column;gap:22px;padding:25px 0}.quote-header h3{font-size:25px}.quote-total{text-align:left;width:100%;border-top:1px solid #e8edf1;padding-top:15px}.quote-total strong{font-size:36px}.quote-offer{justify-content:space-between}.quote-group summary{font-size:12px;padding:17px 0}.quote-group summary b{font-size:12px}.quote-table-scroll{margin-left:-4px;margin-right:-4px}.quote-note{font-size:10px}}

#viewer-content>.reveal-actions{margin:22px 6%}#viewer-content>.reveal-actions button{border-color:#7c8790}@media(max-width:760px){.quotation-intro h3{font-size:22px}.quote-table-scroll:before{content:"左右滑动，查看完整明细 →";display:block;font-size:10px;color:#7a8794;padding:6px 4px 12px}}

/* A quiet, interactive wedding storybook. */
.story-book{max-width:1100px;margin:30px auto 0;perspective:1800px;touch-action:pan-y;outline-offset:8px}.story-spread{display:grid;grid-template-columns:1fr 1fr;position:relative;background:#fffefa;box-shadow:0 16px 40px #1a253416,0 1px 4px #1a253418;min-height:480px}.story-spread:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:24px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#25304010 45%,#25304020 50%,#25304008 58%,transparent);pointer-events:none;z-index:4}.book-page{padding:32px 34px 24px;min-width:0;position:relative;display:flex;flex-direction:column;background:#fffefa}.book-left{background:linear-gradient(90deg,#fffefa 90%,#efeee8)}.book-right{background:linear-gradient(90deg,#eeede7,#fffefa 6%);padding-top:40px}.book-kicker{font-size:9px;letter-spacing:.2em;color:#76808a}.book-chapter{font:italic 13px/1.5 Georgia,serif;color:#929489;margin-top:22px}.book-title{font:400 clamp(25px,2.6vw,38px)/1.5 var(--serif);margin-top:12px;letter-spacing:.03em}.book-meta{font-size:9px;color:#899099;margin-top:10px;line-height:1.8}.book-story{font-size:13px;line-height:1.9;margin:22px 0;color:#667078;max-width:350px}.book-moments{display:flex;gap:12px;margin-top:auto}.book-detail-photo{padding:0;width:46%;background:#efeee8;overflow:hidden}.book-detail-photo img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .4s}.book-detail-photo:hover img{transform:scale(1.04)}.book-cover{padding:0;width:100%;margin:auto 0;background:#edece6;overflow:hidden}.book-cover img{width:100%;height:290px;object-fit:contain;background:#edece6}.book-photo-caption{display:flex;justify-content:space-between;gap:14px;font-size:9px;color:#74808a;margin-top:14px;letter-spacing:.04em}.book-folio{font-size:8px;letter-spacing:.12em;color:#949991;margin-top:24px}.book-right .book-folio{text-align:right}.book-turn-sheet{position:absolute!important;top:0;bottom:0;width:50%;z-index:5;backface-visibility:hidden;box-shadow:-10px 0 28px #17202b18;pointer-events:none;transform-style:preserve-3d}.book-controls{display:flex;justify-content:center;align-items:center;gap:48px;margin:26px auto 22px;font-size:12px}.book-controls button{padding:10px 5px;min-height:44px;border-bottom:1px solid #bec4c8}.book-controls button:disabled{opacity:.3;cursor:default}.book-controls span{font:italic 15px/1.5 Georgia,serif;color:#78828a;min-width:65px;text-align:center}.story-directory{max-width:1100px;margin:0 auto;border-top:1px solid #cbd2d6}.story-directory summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:11px;color:#65717c;padding:16px 0}.story-directory summary::-webkit-details-marker{display:none}.story-directory summary:before{content:'+';margin-right:10px}.story-directory[open] summary:before{content:'−'}.story-directory summary span{margin-left:auto;font-size:10px;color:#89939b}#story-index{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;padding:4px 0 20px}#story-index button{font-size:11px;text-align:left;padding:12px 0;border-bottom:1px solid #dde2e5;line-height:1.7}#story-index button.active{color:#203b53;border-color:#203b53}.inhouse-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 24px;padding:26px 0 12px}.inhouse-roles h4{font:400 19px/1.5 var(--serif);margin:0}.inhouse-roles article p{font-size:12px!important;margin-top:9px!important;padding:0!important}.quote-tabs{display:none}
@media(max-width:1100px){.book-page{padding:26px 25px 22px}.book-title{font-size:28px}.book-cover img{height:260px}.story-spread{min-height:455px}.book-story{font-size:12px}.inhouse-roles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.story-book{margin-top:24px}.story-spread{min-height:0;grid-template-columns:1fr 1fr}.book-page{padding:17px 13px 16px;min-height:355px}.book-kicker{font-size:6px;letter-spacing:.08em}.book-chapter{font-size:9px;margin-top:16px}.book-title{font-size:18px;line-height:1.55;margin-top:9px}.book-meta{font-size:7px;line-height:1.8;margin-top:8px}.book-story{font-size:10px;line-height:1.8;margin:13px 0}.book-moments{gap:6px}.book-detail-photo{width:50%}.book-detail-photo img{aspect-ratio:1}.book-cover img{height:210px;object-fit:contain}.book-photo-caption{font-size:7px;display:block;line-height:1.8;margin-top:10px}.book-photo-caption span:last-child{display:block;margin-top:4px}.book-folio{font-size:6px;letter-spacing:0;margin-top:18px}.book-controls{gap:28px;font-size:11px;margin:18px auto}.book-controls span{font-size:13px}.story-spread:after{width:15px}#story-index{grid-template-columns:1fr 1fr;gap:0 15px}#story-index button{font-size:10px}.inhouse-roles{grid-template-columns:repeat(2,1fr);gap:22px 18px}.inhouse-roles h4{font-size:18px}.inhouse-roles article p{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.book-turn-sheet{display:none}}

/* Project dossier: design, allocation, itemised quotation */
.quote-visuals{padding:24px 32px 28px;background:#f7f6f2;border-bottom:1px solid #d9d8d1}.quote-view-nav{display:flex;gap:24px;margin-bottom:18px;flex-wrap:wrap}.quote-view-nav button{padding:7px 0;border:0;border-bottom:1px solid transparent;background:none;color:#777;font-size:12px}.quote-view-nav button[aria-pressed="true"]{color:#171717;border-color:#171717}.quote-visual-frame{margin:0}.quote-image-open{display:block;width:100%;border:0;padding:0;background:#eae9e3;cursor:zoom-in}.quote-image-open img{display:block;width:100%;height:330px;object-fit:contain}.quote-visual-frame figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:#666}.quote-overview{padding:26px 32px 30px;border-bottom:1px solid #d9d8d1}.quote-overview-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.quote-overview-heading h4{font-size:18px;font-weight:400;margin:0}.quote-overview-heading>span{font-size:10px;color:#777}.quote-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.quote-summary-item{border:0;text-align:left;background:none;padding:0;cursor:pointer}.quote-summary-item>span:first-child{display:block;font-size:11px;color:#666;min-height:32px}.quote-summary-item strong{display:block;font-weight:400;font-size:24px;font-family:Georgia,serif}.quote-share{display:block;margin-top:13px;height:2px;background:#e7e5de}.quote-share i{display:block;height:100%;background:#8d8775}.quote-group{scroll-margin-top:100px}.quote-group summary:focus-visible{outline:1px solid #776f5d;outline-offset:-3px}
@media(max-width:700px){.quote-visuals,.quote-overview{padding:20px}.quote-view-nav{gap:18px}.quote-image-open img{height:220px}.quote-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.quote-overview-heading{gap:10px}.quote-overview-heading>span{font-size:9px}.quote-summary-item strong{font-size:23px}.quote-summary-item>span:first-child{min-height:28px}.quote-visual-frame figcaption{font-size:9px}}

/* All supplied areas presented together as a design board */
.quote-contact-sheet{background:#f7f6f2}.quote-visual-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.quote-visual-heading h4{font-size:18px;font-weight:400;margin:0}.quote-visual-heading>span{font-size:10px;color:#777;letter-spacing:.08em}.quote-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}.quote-plan{margin:0;min-width:0}.quote-plan .quote-image-open img{height:auto;aspect-ratio:16/9;object-fit:contain}.quote-plan figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:10px;color:#5e5b55}.quote-plan figcaption>span:last-child{font-size:9px;color:#888}.quote-plan .quote-image-open{transition:box-shadow .2s}.quote-plan .quote-image-open:hover{box-shadow:0 4px 14px #0000001c}#quote-content{scroll-margin-top:90px}
@media(max-width:700px){.quote-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.quote-visual-heading{gap:10px}.quote-visual-heading>span{font-size:9px}.quote-plan figcaption{font-size:9px;flex-direction:column;gap:3px}.quote-plan figcaption>span:last-child{font-size:8px}}

.walkthroughs{margin-top:70px;border-top:1px solid #bdbbb5;padding-top:40px;scroll-margin-top:95px}.walkthrough-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.walkthrough-heading h3{font-family:var(--serif,Georgia,serif);font-size:36px;font-weight:400;line-height:1.35;margin:20px 0 0}.walkthrough-heading>p{font-size:13px;line-height:1.9;color:#666;margin:0}.walkthrough-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.walkthrough-grid figure{margin:0;min-width:0}.walkthrough-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#f0eee8}.walkthrough-grid figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:14px}.walkthrough-grid figcaption>span:last-child{font-size:10px;color:#777}.walkthrough-note{font-size:11px;color:#777;margin-top:24px}.compare-choices{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:700px){.walkthroughs{margin-top:45px;padding-top:28px}.walkthrough-heading{display:block}.walkthrough-heading h3{font-size:28px;margin:15px 0}.walkthrough-heading>p{font-size:12px}.walkthrough-grid{grid-template-columns:1fr;gap:28px}.walkthrough-grid figcaption{font-size:11px}.compare-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
.walkthrough-heading>p,.walkthrough-note{color:#b3b3b3}.walkthrough-grid figcaption>span:last-child{color:#b3b3b3}.walkthroughs{border-color:#555}
.compare-side{min-width:0}.compare-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.compare-choices button{min-width:0}

.creative-expanded{display:block}.creative-expanded .creative-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:22px;margin-bottom:30px}.creative-expanded .creative-heading .eyebrow{width:100%}.creative-expanded .creative-heading h3{margin:0}.creative-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.creative-collection .creative-card img{height:auto;aspect-ratio:1.5;object-fit:cover}.creative-collection .creative-card{min-width:0}.creative-collection .creative-card span{font-size:16px}.creative-collection .creative-card small{font-size:10px}.creative-expanded .archive-link{margin-top:32px}#beyond{scroll-margin-top:100px}
.contact-refined{background:#fff;color:#151515;padding:70px 7% 26px;min-height:0;overflow:visible}.contact-refined .contact-invitation{padding-bottom:52px;border-bottom:1px solid #d5d5d5}.contact-refined .contact-invitation>.eyebrow{color:#666;background:none;letter-spacing:.12em;font-size:10px}.contact-refined h2{font:400 38px/1.4 var(--serif);letter-spacing:0;margin:25px 0 15px}.contact-refined .contact-invitation>p{font-size:12px;color:#666}.footer-directory{display:grid;grid-template-columns:1.45fr 1.2fr 1fr 1fr;gap:45px;padding:46px 0 52px}.footer-wordmark{display:inline-block;font-family:Didot,"Bodoni 72","Times New Roman",serif;font-size:76px;font-weight:500;line-height:1;letter-spacing:-.035em;text-decoration:none;color:#111;transform:scaleX(1.03);transform-origin:left}.footer-identity>p{font-size:12px;letter-spacing:.14em;margin:17px 0}.footer-identity>span{font-size:8px;letter-spacing:.08em;color:#777}.footer-column{display:flex;flex-direction:column;align-items:start;gap:13px}.footer-column h3{font-size:12px;font-weight:500;letter-spacing:.05em;margin:0 0 14px}.footer-column h3 small{display:block;font-size:9px;letter-spacing:.12em;color:#777;margin-top:7px;font-weight:400}.contact-refined .footer-column a,.contact-refined .footer-column button{font:400 12px/1.5 Arial,sans-serif;border:0;background:none;padding:0;color:#222;text-decoration:none}.contact-refined .footer-column a:hover,.contact-refined .footer-column button:hover{text-decoration:underline}.footer-column .footer-channel{font-size:9px;color:#888;margin-top:4px}.footer-column small{font-size:9px;color:#777;margin-left:6px}.footer-baseline{display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:22px;font-size:9px;letter-spacing:.07em;color:#666}.footer-baseline a{font-size:10px;color:#333;text-decoration:none}
@media(max-width:900px){.footer-directory{gap:25px;grid-template-columns:1.2fr 1.2fr 1fr 1fr}.footer-wordmark{font-size:62px}.creative-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.contact-refined{padding:45px 7% 22px}.contact-refined h2{font-size:27px}.contact-refined .contact-invitation{padding-bottom:30px}.footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px;padding:32px 0}.footer-identity{grid-column:1/-1}.footer-wordmark{font-size:64px}.footer-column{gap:12px}.footer-column:last-child{grid-column:2;grid-row:2}.creative-expanded .creative-heading{display:block}.creative-expanded .creative-heading h3{margin:20px 0}.creative-collection{gap:24px 14px}.creative-collection .creative-card span{font-size:13px}.creative-collection .creative-card small{font-size:9px}}
.contact-refined .footer-identity>p{color:#444}

.creative-heading .eyebrow{background:#ded7e4;color:#4b4254}.contact-refined .contact-invitation{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:55px}.footer-atmosphere{margin:0;position:relative}.footer-atmosphere img{display:block;width:100%;height:220px;object-fit:cover;object-position:center 60%;filter:saturate(.4)}.footer-atmosphere figcaption{font-size:8px;letter-spacing:.17em;color:#777;margin-top:11px}.contact-invitation-copy>.eyebrow{font-size:9px;color:#777;letter-spacing:.1em;background:none}.contact-refined .contact-invitation-copy h2{font-size:33px;margin-top:23px}.contact-refined .contact-invitation-copy p{font-size:12px;color:#666;line-height:1.8}
@media(max-width:700px){.contact-refined .contact-invitation{grid-template-columns:1fr;gap:28px}.footer-atmosphere img{height:165px}.contact-refined .contact-invitation-copy h2{font-size:26px;margin-top:17px}}

.creative-expanded .creative-heading .eyebrow{width:auto;flex-basis:auto;display:inline-block;padding:9px 16px;background-image:linear-gradient(#203d5538,#203d5538),url('assets/soai-wechat-avatar.webp');background-size:100% auto;background-position:center 8%;background-color:#446278;color:#fff;letter-spacing:.1em;text-shadow:0 1px 3px #18334580}.creative-expanded .creative-heading .eyebrow::after{content:none}.creative-expanded .creative-heading h3{flex-basis:56%}
@media(max-width:700px){.creative-expanded .creative-heading .eyebrow{font-size:10px;padding:8px 13px}}

.creative-expanded .creative-heading .beyond-label-row{width:100%}.creative-expanded .creative-heading h3{flex-basis:auto}

.viewer-foot{display:none}

/* Mobile typography and line composition */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
.section-heading h2{font-size:clamp(25px,7.2vw,31px);line-height:1.5;letter-spacing:.015em}
.section-heading h2 i{display:block}
.about h2{font-size:clamp(32px,9.5vw,40px);line-height:1.45;letter-spacing:.02em}
.about h2 br{display:block}.about h2 i{display:inline}
.about-copy .large-copy{font-size:clamp(17px,4.8vw,21px);line-height:1.9;letter-spacing:0}
.section-label{align-items:flex-start;gap:12px;font-size:9px;letter-spacing:.03em;line-height:1.8}
.section-label>span:first-child{flex:1;min-width:0}.section-label>span:last-child{flex:0 0 40%;text-align:right}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
.service-grid h3{font-size:clamp(16px,4.5vw,19px);line-height:1.6;letter-spacing:0}
.service-grid article{min-width:0}.service-grid article>span{font-size:9px;letter-spacing:.025em}
.panel-heading h3,.milestone-heading h3{font-size:22px;line-height:1.65}
.process summary{gap:14px}.process summary span{min-width:0;flex:1;gap:12px;font-size:18px}.process small{font-size:9px;letter-spacing:.02em}
.process details p{padding-left:34px}
.creative-expanded .creative-heading h3{font-size:24px;line-height:1.55}.creative h3 br{display:block}
.creative-collection .creative-card span{overflow-wrap:anywhere;line-height:1.7}
.walkthrough-heading h3{font-size:24px;line-height:1.5}.walkthrough-grid figcaption{flex-wrap:wrap;gap:4px 12px}
.price-cards strong{font-size:44px}.payment{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.payment div:first-child strong{font-size:clamp(14px,4.1vw,18px);white-space:nowrap;letter-spacing:-.02em}
.quotation-intro h3{font-size:21px;line-height:1.6}.quote-header h3{font-size:22px;line-height:1.6}
.quote-group summary{gap:12px}.quote-group summary span{min-width:0;line-height:1.7}.quote-group summary span:before{flex-shrink:0}.quote-group summary b{flex-shrink:0}
.quote-visual-heading,.quote-overview-heading{flex-wrap:wrap;gap:6px 12px}.quote-summary-item strong{font-size:21px}
.contact-refined .contact-invitation-copy h2{font-size:clamp(22px,6.3vw,26px);line-height:1.5}
.footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-column{min-width:0}.footer-column button,.footer-column a{overflow-wrap:anywhere}.footer-column small{white-space:nowrap}
.viewer-head h2{font-size:25px;line-height:1.5}.book-title{font-size:clamp(15px,4.5vw,18px);line-height:1.65}
}
@media(max-width:360px){.header{padding:0 14px;gap:8px}.header .brand{font-size:27px;gap:7px}.header .brand span{font-size:7px}.campaign-cover h1{font-size:22px}.process summary span{flex-wrap:wrap;gap:0 12px}.book-page{padding:16px 10px}.book-cover img{height:190px}}

/* Public quotation privacy: actual values are omitted from data. */
.quote-price-mask{display:inline-block;width:44px;height:15px;vertical-align:middle;background:conic-gradient(#b7bcc0 25%,#dce0e2 0 50%,#a7afb4 0 75%,#cbd1d5 0) 0 0/8px 8px;border-radius:2px;user-select:none}.quote-privacy-note{font-size:11px;color:#69798a;line-height:1.8;margin-top:20px}
