:root{--ink:#2c374f;--paper:#f7f5f0;--cream:#e9e2d7;--lime:#e9dfcf;--dark:#29344b;--muted:#6a7180}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:600;letter-spacing:0}em{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:0}.nav{height:88px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cdd1da;position:relative;z-index:5}.brand{font-family:'DM Sans',sans-serif;font-size:19px;font-weight:700;letter-spacing:0}.brand span{font-weight:400}.brand i{font-size:9px;font-style:normal;vertical-align:top;margin-left:3px}.nav nav{display:flex;gap:36px;font-size:12px;font-weight:700}.nav nav a:hover{opacity:.5}.nav-cta{background:transparent;border:1px solid var(--ink);border-radius:100px;padding:13px 18px;font-size:12px;font-weight:700}.nav-cta span{margin-left:18px}.hamburger{display:none}.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:53% 47%;min-height:730px}.hero-copy{padding:48px 5% 55px 8.7%;display:flex;flex-direction:column}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:0}.eyebrow{display:flex;align-items:center;gap:10px}.dot{height:7px;width:7px;border-radius:50%;background:#67738c}.eyebrow-index{margin-left:auto;color:#8993a8}.hero h1{font-size:clamp(55px,6.35vw,110px);line-height:1.04;margin:70px 0 35px}.hero h1 em{color:#a18c70}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{font-size:15px;line-height:1.8;max-width:300px;margin:0}.round-arrow{height:66px;width:66px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:26px;transition:.2s}.round-arrow:hover{background:var(--ink);color:white}.hero-art{position:relative;background:#bbb9a8;min-height:700px;overflow:hidden}.photo-placeholder{height:100%;position:relative;background:radial-gradient(circle at 65% 33%,#e4e0d0 0,#b4bbc9 29%,#6d7993 80%);overflow:hidden}.art-sun{position:absolute;width:560px;height:560px;border:1px solid #ece9d6;border-radius:50%;top:7%;left:20%}.art-sculpture{position:absolute;bottom:-12%;left:19%;width:66%;height:89%;filter:drop-shadow(25px 15px 25px #363c4a80)}.sculpture-head{position:absolute;width:44%;height:36%;background:linear-gradient(115deg,#dcd8c9,#828ca2 75%);border-radius:48% 48% 43% 43%;top:3%;left:27%;transform:rotate(-8deg)}.sculpture-neck{position:absolute;width:19%;height:20%;background:#a7afc0;top:32%;left:39%}.sculpture-body{position:absolute;width:94%;height:61%;border-radius:47% 47% 0 0;background:linear-gradient(120deg,#b7bdcb,#5c667c 75%);top:47%;left:3%}.photo-note{position:absolute;top:9%;left:9%;font-size:11px;line-height:1.5;letter-spacing:0}.art-label{position:absolute;bottom:8%;right:9%;font-weight:800;font-size:13px;letter-spacing:0}.art-label small{font-weight:500;font-size:10px}.vertical-note{position:absolute;right:12px;top:36%;writing-mode:vertical-rl;font-size:10px;letter-spacing:0}.hero-ticker{height:84px;background:var(--lime);display:flex;align-items:center;justify-content:space-around;gap:30px;overflow:hidden;white-space:nowrap;font-size:18px;font-weight:700;letter-spacing:0}.hero-ticker b{font-size:30px;font-weight:400}.section-pad{padding:115px 7% 125px}.section-kicker{margin-bottom:55px;color:#626c84}.section-kicker.light{color:#a4acbd}h2{font-size:clamp(45px,5.5vw,92px);line-height:1.08;margin-bottom:30px}.section-lead{font-size:17px;line-height:1.85;max-width:570px;color:#4c5567}.quiz-section{background:#eceef2}.quiz-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.quiz-layout h2{margin-top:0}.fine-print{margin-top:55px;font-size:11px;letter-spacing:0;font-weight:800}.quiz-card{background:#fbfaf7;padding:35px;min-height:445px;box-shadow:12px 12px 0 #c3c8d3}.quiz-card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:0;font-weight:800;color:#7a849c;border-bottom:1px solid #d2d6de;padding-bottom:25px}.quiz-card h3{font-size:26px;line-height:1.3;letter-spacing:0;margin:28px 0}.quiz-options{display:grid;gap:9px;margin-bottom:22px}.quiz-options button{border:1px solid #cdd1db;background:transparent;text-align:left;padding:14px 16px;border-radius:3px;font-size:13px}.quiz-options button.selected{background:var(--lime);border-color:var(--ink)}.primary{border:0;border-radius:100px;background:var(--ink);color:white;padding:17px 24px;font-size:12px;font-weight:800;display:inline-flex;justify-content:space-between;gap:30px;align-items:center}.primary:hover{background:#444c5d}.primary:disabled{opacity:.4;cursor:not-allowed}.about-layout{display:grid;grid-template-columns:44% 1fr;gap:10%;align-items:center}.about-visual{background:#c6cad5;height:670px;position:relative;overflow:hidden}.portrait-outline{font-family:'Playfair Display',serif;font-size:clamp(180px,25vw,380px);font-style:italic;letter-spacing:0;position:absolute;left:-7%;top:18%;color:#98a1b5}.portrait-outline span{color:#e9e6d8}.portrait-caption{position:absolute;bottom:40px;left:35px;font-size:11px;letter-spacing:0;line-height:1.7;font-weight:800}.about-text h2{font-size:clamp(47px,5vw,80px)}.credentials{border-top:1px solid #c6cad5;margin:35px 0}.credentials>div{display:flex;gap:30px;align-items:center;border-bottom:1px solid #c6cad5;padding:16px 0}.credentials strong{min-width:125px;font-size:21px;letter-spacing:0}.credentials span{font-size:12px;color:#596379}.about-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.text-link,.inline-cta{border:0;background:none;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:5px}.approach{background:var(--dark);color:#ebecf0}.approach-head{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;align-items:end}.approach-head p{font-size:16px;line-height:1.85;color:#bcc1ce;max-width:420px}.approach h2 em{color:var(--lime)}.approach-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:75px 0 45px}.approach-cards article{border:1px solid #515a6d;padding:27px;min-height:380px;position:relative;overflow:hidden}.approach-cards article>span{font-size:10px;letter-spacing:0;color:#a1a9bb}.approach-cards h3{font-size:23px;letter-spacing:0;margin-top:185px}.approach-cards p{font-size:12px;line-height:1.8;color:#aeb5c4}.abstract-circle{position:absolute;width:170px;height:170px;border-radius:50%;top:75px;left:calc(50% - 85px);border:20px solid var(--lime)}.c2{border-width:3px;box-shadow:0 0 0 23px #e9dfcf22,0 0 0 45px #e9dfcf18}.c3{border-radius:0;transform:rotate(45deg);width:125px;height:125px;left:calc(50% - 62px);top:98px}.light-link{font-size:13px;font-weight:800;border-bottom:1px solid var(--lime);padding-bottom:8px}.light-link span{margin-left:20px}.requests-header,.cases-head,.services-head,.media-top{display:flex;justify-content:space-between;align-items:end;gap:70px}.requests-header p,.cases-head p,.services-head p,.media-top p{max-width:390px;font-size:15px;line-height:1.8;color:#555e72}.request-list{margin-top:60px;border-top:1px solid #abb3c3}.request-list a{border-bottom:1px solid #abb3c3;display:grid;grid-template-columns:75px 1fr 45px;align-items:center;padding:28px 10px;transition:.2s}.request-list a:hover{background:#dbdee5;padding-left:24px}.request-list span{font-size:11px;color:#6e7a94}.request-list strong{font-size:clamp(18px,2.3vw,31px);font-weight:600;letter-spacing:0}.request-list b{font-size:25px;font-weight:400}.inline-cta{margin-top:35px}.cases{background:#eee9e1}.cases-head h2{max-width:720px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:50px}.case-card{background:#faf8f4}.case-art{height:330px;position:relative;overflow:hidden}.case-art>span{position:absolute;top:20px;left:23px;font-size:11px}.art-one{background:#aab2c2}.art-two{background:#c6b9aa}.art-three{background:#b6bcca}.symbol{font-family:'Playfair Display',serif;font-size:240px;position:absolute;left:25%;top:3%;color:#eaebef;line-height:1}.case-bottom{padding:30px}.case-bottom>span{font-size:10px;letter-spacing:0}.case-bottom h3{font-size:27px;letter-spacing:0;margin:22px 0 12px}.case-bottom p{font-size:12px;line-height:1.8;color:#566075;min-height:65px}.case-bottom button,.service-row button{border:0;background:none;padding:0;font-size:12px;font-weight:800;border-bottom:1px solid}.case-disclaimer{font-size:11px;color:#525b70;margin-top:20px}.service-list{margin-top:60px;border-top:1px solid #abb3c3}.service-row{display:grid;grid-template-columns:60px 1fr 170px;gap:20px;align-items:center;border-bottom:1px solid #abb3c3;padding:31px 10px}.service-row>span{font-size:12px;color:#76819a}.service-row h3{font-size:29px;letter-spacing:0;margin-bottom:8px}.service-row p{font-size:12px;line-height:1.7;color:#5b657c;max-width:600px;margin:0}.service-row>button{text-align:right;justify-self:end}.accent-service{background:#e9e2d7;padding-left:20px}.price{text-align:right}.price strong{display:block;font-size:22px;margin-bottom:12px}.media{background:#eee9e1}.media-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:45px 0}.media-tiles>div{height:280px;background:#c8cdd8;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.media-tiles>div:nth-child(2){background:#b3bac8}.media-tiles>div:nth-child(3){background:#c9c0b3}.media-tiles span,.media-tiles small{font-size:11px;letter-spacing:0}.media-tiles strong{font-family:'Playfair Display',serif;font-size:49px;line-height:1}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq-list{border-top:1px solid #abb3c3}.faq details{border-bottom:1px solid #abb3c3;padding:24px 0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-weight:700;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:#5b657b;font-size:13px;line-height:1.8;margin:20px 30px 0 0}.end-cta{background:var(--lime);padding:105px 7%;position:relative;overflow:hidden}.end-small{font-size:11px;letter-spacing:0;font-weight:800;margin-bottom:55px}.end-cta h2{font-size:clamp(60px,8vw,135px);line-height:1.02}.end-cta h2 em{color:#6e5c46}.light-btn{background:var(--ink);margin-top:30px}.end-number{position:absolute;right:7%;bottom:65px;font-size:12px;letter-spacing:0}footer{background:#2c374f;color:#dfe2e8;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;padding:50px 7%;align-items:start}footer>div{font-size:11px;line-height:1.9}footer small{grid-column:1/-1;color:#9ba3b6;font-size:10px}.modal{position:fixed;inset:0;z-index:20;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:#131519a8}.modal-panel{position:absolute;right:0;top:0;height:100%;width:min(600px,100%);background:var(--paper);padding:60px 55px;overflow:auto}.modal-panel h2{font-size:60px}.modal-panel p{font-size:13px;line-height:1.8;color:#5b657b}.modal-close{position:absolute;top:25px;right:35px;background:none;border:0;font-size:36px}.modal form{display:grid;gap:22px;margin-top:35px}.modal label{display:grid;gap:8px;font-size:11px;font-weight:800;letter-spacing:0}.modal input,.modal textarea{border:0;border-bottom:1px solid #a1a9bb;background:transparent;padding:13px 0;outline:none;font-size:14px}.modal input:focus,.modal textarea:focus{border-color:#29344b}.modal form .primary{justify-self:start}@media(max-width:900px){.nav nav{display:none}.hamburger{display:block;background:none;border:0;font-size:23px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:45px 7% 65px}.hero h1{font-size:clamp(57px,11vw,95px);margin:60px 0}.hero-art{min-height:570px}.quiz-layout,.about-layout,.approach-head,.faq-layout{grid-template-columns:1fr;gap:50px}.about-visual{height:460px}.approach-cards,.case-grid{grid-template-columns:1fr}.approach-cards article{min-height:280px}.approach-cards h3{margin-top:165px}.requests-header,.cases-head,.services-head,.media-top{display:block}.service-row{grid-template-columns:40px 1fr;gap:10px}.service-row>button,.service-row>.price{grid-column:2;text-align:left;justify-self:start}.media-tiles{grid-template-columns:1fr}.media-tiles>div{height:220px}footer{grid-template-columns:1fr}.nav-cta{margin-left:auto;margin-right:15px}}@media(max-width:600px){.nav{height:72px;padding:0 6%}.nav-cta{font-size:10px;padding:11px}.nav-cta span{display:none}.section-pad{padding:75px 6%}.hero-copy{padding:35px 6% 55px}.hero h1{font-size:clamp(48px,12vw,75px)}.hero-art{min-height:460px}.hero-ticker{font-size:13px;height:65px}.section-kicker{margin-bottom:40px}.quiz-card{padding:22px}.about-visual{height:390px}.credentials>div{display:block}.credentials strong{display:block;margin-bottom:8px}.request-list a{grid-template-columns:35px 1fr 20px}.request-list strong{font-size:18px}.service-row h3{font-size:24px}.modal-panel{padding:70px 25px 30px}.modal-panel h2{font-size:47px}.end-cta{padding:80px 6%}.end-cta h2{font-size:clamp(51px,12vw,78px)}.end-number{position:static;margin-top:70px}}

/* Portrait photographs */
.hero-art .photo-placeholder{position:absolute;inset:0;background:#596a70}
.hero-portrait,.about-portrait{display:block;width:100%;height:100%;object-fit:cover}
.hero-portrait{object-position:50% 42%}
.hero-art .photo-placeholder:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(12,23,25,.65));pointer-events:none}
.hero-art .art-label{color:#fff;z-index:1;bottom:6%;right:7%;text-align:right}
.about-portrait{object-position:50% 35%}
.about-visual .portrait-caption{background:linear-gradient(transparent,rgba(12,23,25,.8));color:#fff;bottom:0;left:0;right:0;padding:70px 30px 30px}
@media(max-width:600px){.hero-art{min-height:590px}.hero-portrait{object-position:50% 35%}.about-visual{height:550px}}

.story-preview{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #b1b8c7}.story-summary,.story-metric{padding:42px}.story-summary h3{font-size:clamp(28px,3.3vw,46px);line-height:1.15;margin:22px 0}.story-summary p{line-height:1.8;margin-bottom:28px}.story-metric{background:#e4e8ee;display:flex;flex-direction:column;gap:14px}.story-metric>span{font-size:11px;letter-spacing:0}.story-metric strong{font-size:42px}.story-metric small{line-height:1.6}.metric-track{height:12px;background:#bcc2cf}.metric-track i{display:block;height:100%;background:#4c5567}.story-metric b{margin-top:12px;font-size:30px}.story-metric b span{display:block;font-size:12px;font-weight:400;margin-top:10px}.case-intro h1{font-size:clamp(38px,5.8vw,78px);line-height:1.08;max-width:1100px;margin:30px 0}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px;border-top:1px solid #b1b8c7;padding-top:30px}.case-facts strong{display:block;font-size:40px}.case-facts span{display:block;line-height:1.7;margin-top:10px}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-columns article{padding:35px;border:1px solid #b1b8c7}.case-columns h2{font-size:38px}.case-after{background:#e4e8ee}.case-number{font-size:clamp(35px,4.5vw,60px);display:block;margin:28px 0 10px}.case-content p,.case-content li,.case-conflict p{line-height:1.8}.case-content ul{padding-left:20px}.case-content li{margin:15px 0}.case-conflict{background:#2c374f;color:#f2f1e9}.case-conflict>p{max-width:730px;margin:30px 0}.case-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px}.case-steps>div{border-top:1px solid #5b647a;padding-top:24px}.case-steps b{color:#e9dfcf;font-size:40px}.case-steps h3{font-size:23px;margin:20px 0}.case-content blockquote{font-size:clamp(25px,3vw,40px);line-height:1.5;border-left:5px solid #838da4;padding:25px 35px;margin:40px 0;background:#eee9e1}.case-page .fine-print{margin-top:35px;max-width:850px}@media(max-width:700px){.story-preview,.case-columns,.case-facts,.case-steps{grid-template-columns:1fr}.story-summary,.story-metric,.case-columns article{padding:25px}.case-columns h2{font-size:32px}.case-page .nav{gap:15px;font-size:12px}.case-content blockquote{margin:30px 0;padding:20px}.case-intro h1{font-size:40px}}

.story-second{margin-top:28px}.story-second .story-metric>strong{font-size:clamp(27px,3vw,40px)}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #a4acbd;margin-top:15px;padding-top:20px}.mini-metrics small{display:block;margin-top:10px}.case-roadmap{max-width:900px;margin-top:40px}.case-roadmap article{display:flex;gap:25px;padding:28px 0;border-top:1px solid #b1b8c7}.case-roadmap article>b{display:flex;align-items:center;justify-content:center;background:#e9dfcf;min-width:48px;height:48px;border-radius:50%;font-size:25px}.case-roadmap h3{font-size:25px;margin-bottom:10px}.case-roadmap p{max-width:720px}.case-facts strong{font-size:clamp(26px,3.2vw,40px)}

.focus-flow{border-top:1px solid #a4acbd;border-bottom:1px solid #a4acbd;padding:20px 0;margin:8px 0;display:flex;align-items:center;flex-direction:column;gap:12px}.focus-flow>span{font-size:17px}.focus-flow>b{font-size:28px;margin:0}.focus-flow>strong{font-size:27px}.mini-metrics>div>b{font-size:clamp(16px,1.7vw,24px)}

.contract-metric{border-top:1px solid #a4acbd;margin-top:15px;padding-top:24px;display:flex;flex-direction:column;gap:14px}.contract-metric>span{font-size:11px;letter-spacing:0}.contract-metric strong{font-size:42px}

.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-links a{overflow-wrap:anywhere}.contact-section{border-top:1px solid #b5bbc9;background:#eee9e1}.contacts-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.contact-section .contact-links{font-size:clamp(20px,2.3vw,30px);margin-bottom:30px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.modal-panel h2{font-size:42px}.modal-panel{padding-top:55px}.modal-panel form{margin-top:20px}.modal-panel label{display:block;font-size:13px}.modal-panel input,.modal-panel textarea{box-sizing:border-box;width:100%;border:0;border-bottom:1px solid #8b94a9;border-radius:0;padding:12px 0;background:transparent;color:#2c374f;font:inherit;margin:5px 0 16px}.modal-panel input:focus,.modal-panel textarea:focus{outline:2px solid #6a7690;outline-offset:3px}.modal-panel .field-hint,.modal-panel .form-note{font-size:11px;line-height:1.6;margin:0 0 18px}.form-honey{display:none!important}.modal-contacts{border-top:1px solid #b5bbc9;margin-top:25px;padding-top:22px;font-size:12px}.modal-contacts .contact-links{margin-top:12px;gap:8px}#formStatus{min-height:22px}#formStatus.error{color:#94392f}#formStatus.success{color:#3a404e}button[disabled]{opacity:.6;cursor:wait}.case-page footer{margin-top:0}@media(max-width:700px){.contacts-layout{grid-template-columns:1fr}.contact-fields{grid-template-columns:1fr}.modal-panel h2{font-size:36px}.modal-panel{padding:55px 25px 25px}.nav nav{gap:18px}}

.book-section{background:#e9e2d7;border-top:1px solid #b5bbc9;scroll-margin-top:80px}.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.book-visual{position:relative;padding:30px 35px 50px;background:radial-gradient(ellipse at center,#f8f5eb,#aeb5c4);min-width:0}.book-object{max-width:350px;margin:0 auto;transform:rotate(-5deg);box-shadow:12px 18px 0 #7a859d,25px 35px 45px #1b1e2544;border-left:7px solid #2a2e38;line-height:0}.book-object img{width:100%;height:auto}.book-sticker{position:absolute;top:6px;right:-15px;background:#b94637;color:#fff;font-weight:800;font-size:17px;line-height:1.2;letter-spacing:0;padding:23px 20px;transform:rotate(8deg);box-shadow:2px 4px 0 #892219;text-align:center}.book-visual-note{display:block;font-size:9px;letter-spacing:0;text-align:center;margin-top:48px}.book-copy h2{font-size:clamp(52px,6vw,84px);margin:22px 0}.book-status{font-size:11px;letter-spacing:0;color:#705b44}.book-topics{margin:30px 0}.book-topics article{display:flex;gap:18px;border-top:1px solid #a9b1c1;padding:20px 0}.book-topics article>span{font-size:12px;color:#5c667c;min-width:20px}.book-topics h3{font-size:19px;margin-bottom:8px}.book-topics p{font-size:13px;line-height:1.65}.book-small{font-size:11px;line-height:1.8;margin-top:16px;max-width:480px;color:#4a5365}.book-consent{display:flex!important;gap:12px;align-items:flex-start;line-height:1.6;margin:20px 0}.book-consent input{width:18px!important;height:18px;min-width:18px;margin:2px 0!important;accent-color:#485062}.book-consent span{font-size:11px}#bookFormStatus{font-size:13px;line-height:1.8}#bookFormStatus.error{color:#94392f}#bookFormStatus.success{color:#3a404e}.waitlist-table{border-collapse:collapse;min-width:700px;width:100%;margin:35px 0}.waitlist-table th,.waitlist-table td{padding:15px;text-align:left;border-bottom:1px solid #b1b7c6}.nav nav{gap:20px}@media(max-width:850px){.book-layout{grid-template-columns:1fr;gap:55px}.book-visual{padding:30px 35px 50px;max-width:480px;margin:auto;width:100%}.book-object{max-width:290px}.book-sticker{right:0;font-size:14px}.book-copy h2{font-size:62px}.book-section{overflow:hidden}}

/* Shared readable spacing for all pages and forms. */
body{word-spacing:normal;font-kerning:normal}button,input,textarea,select{letter-spacing:0;word-spacing:normal}input,textarea{min-width:0}h1,h2,h3,p,li,blockquote{overflow-wrap:break-word}h1,h2,h3{hyphens:manual}.story-summary,.story-metric,.case-columns article,.case-facts>div,.case-steps>div,.book-copy,.contacts-layout>div{min-width:0}.primary{max-width:100%;white-space:normal;line-height:1.5;text-align:left}.case-number{line-height:1.2}.case-roadmap article>div{min-width:0}

/* Keep decorative figures in the document flow, separate from card text. */
.approach-cards article{display:flex;flex-direction:column;padding:28px;min-height:0;overflow:hidden}
.approach-figure{height:260px;flex:0 0 260px;display:flex;align-items:center;justify-content:center;margin:24px 0 30px;min-width:0}
.approach-figure .abstract-circle{position:relative;top:auto;left:auto;width:160px;height:160px;flex-shrink:0;margin:0}
.approach-figure .c2{width:min(160px,calc(100% - 92px));height:auto;aspect-ratio:1}
.approach-figure .c3{width:125px;height:125px}
.approach-cards h3{margin:0 0 16px;line-height:1.35;min-height:2.7em}
.approach-cards p{margin:0;line-height:1.8}
@media(max-width:900px){.approach-cards h3{margin-top:0;min-height:0}}
@media(max-width:600px){.approach-cards article{padding:24px}.approach-figure{height:250px;flex-basis:250px;margin:20px 0 28px}}

.about-text{min-width:0}
