/* Editorial redesign: generous horizontal grid, explicit type hierarchy. */
:root{--rail-width:calc(100% - 80px);--inner-gutter:40px;--line:#c5c9c0;--ink:#292e29;--muted:#555d53}
body{font-size:18px;line-height:1.9}.wrap{max-width:2240px}.page-rails{max-width:2240px}.header{min-height:110px;padding-inline:28px}.header nav{font-size:17px;gap:42px}.brand{font-size:24px}.brand small{font-size:11px}.button{font-size:18px;min-height:68px;padding:18px 30px}.button.small{font-size:16px;min-height:50px}.text-button{font-size:17px}.caption{font-size:14px}
.hero{grid-template-columns:48px minmax(0,1.25fr) minmax(0,1fr);min-height:820px;grid-template-rows:1fr auto}.hero-copy{padding:76px 0 60px 52px;animation:none}.hero h1{font-size:clamp(48px,4.15vw,86px);line-height:1.45;letter-spacing:.025em;font-weight:700;margin:38px 0 30px}.eyebrow{font-size:16px;letter-spacing:.025em}.hero-description{font-size:20px;line-height:2;max-width:38em}.hero-actions{gap:28px;margin-top:32px}.hero-copy>.caption{font-size:14px;margin-top:18px}.hero-art{border-left:1px solid var(--line)}.hero-art .character-slot{width:106%;max-width:850px;top:27%}.orb-one{width:55%;top:1%;right:-8%}.orb-two{width:29%;left:0;bottom:8%}.art-note{font-size:16px;bottom:5%;right:12%;max-width:220px}.hero-bottom{min-height:74px;padding:20px 32px;font-size:13px}.hero-bottom>a{font-size:16px}.motion-toggle{font-size:14px}.space-word{isolation:isolate}.space-word:after{background:url('assets/orb.png') center/contain no-repeat;width:155%;height:180%;left:-28%;bottom:-40%;opacity:.7;z-index:-1}
.section{padding-block:100px}h2{font-size:clamp(40px,3.45vw,72px);line-height:1.45;letter-spacing:.025em;font-weight:700}h3{font-weight:700}.section-kicker{font-size:24px;letter-spacing:.025em;font-weight:600;line-height:1.4;margin-bottom:42px}.section-top{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px 80px;margin-bottom:56px}.section-top .section-kicker{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:6px}.section-top>p:last-child{font-size:21px;line-height:1.9;padding-bottom:8px;max-width:34em}
.work-grid{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work{padding:36px 36px 42px}.work:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.work:nth-child(even){padding-right:0}.work:nth-child(n+3){border-top:1px solid var(--line)}.work-image>span{font-size:13px;padding:9px 16px}.work-heading{margin:26px 0 15px;gap:18px}.work-heading h3{font-size:32px;line-height:1.5}.work-number{font-size:17px}.tag{font-size:14px;padding:4px 13px}.work>p{font-size:18px;line-height:1.85;max-width:46em}.work .work-meta{font-size:14px;margin:20px 0}.work summary{font-size:16px;padding-block:19px}.work details>p{font-size:17px}.work details .caption{font-size:13px}.review-note{font-size:13px}.mid-cta{margin-top:34px;padding-block:28px}.mid-cta>p{font-size:22px}
.values{background:#e7eae3}.values-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.values-layout>div:first-child{padding-right:65px}.value-list{border-left:1px solid var(--line);padding-left:65px}.intro{font-size:20px;line-height:1.9;margin-top:32px}.values-mark{width:240px;height:240px;margin:28px 0 0}.value-list article{padding:38px 0;gap:28px}.value-list article>span{font-size:18px}.value-list h3{font-size:30px;line-height:1.55}.value-list p{font-size:18px;line-height:1.9;max-width:34em}.motif-word{position:relative;isolation:isolate;display:inline-block}.motif-word:before{content:'';position:absolute;width:260px;height:260px;left:-22px;top:50%;transform:translateY(-50%);background:url('assets/orb-green.png') center/contain no-repeat;opacity:.4;z-index:-1;pointer-events:none}
.service-table>div{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding:40px 0}.service-table h3{font-size:28px}.service-table p{font-size:18px}.service-table .price{gap:20px}.service-table .price>span{font-size:28px;font-weight:500;line-height:1.5;gap:16px}.price small{font-size:15px;font-weight:400}.price-details>summary{font-size:18px;padding-block:24px}.price-detail-grid{gap:40px;padding:20px 0 40px}.price-detail-grid h3{font-size:22px}.price-detail-grid dl{font-size:16px}.service-note{font-size:16px;line-height:1.9;max-width:90em}
.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}.about-visual{min-height:650px;border:0;border-right:1px solid var(--line);background:none;isolation:isolate}.about-orb{position:absolute;width:83%;max-width:640px;z-index:-1;left:10%;top:10%;opacity:.6}.portfolio-decoration{height:82%;top:9%;left:0;max-width:16%;opacity:.28}.about-circle{width:65%;max-width:520px;margin-left:28px;aspect-ratio:1;border-radius:50%;overflow:hidden}.about-circle img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 40%}.about-label{font-size:13px;letter-spacing:.1em;bottom:18px;right:45px}.about-copy h2{font-size:clamp(38px,3vw,62px)}.name{font-size:36px;font-weight:500;margin-top:38px}.name span{font-size:16px;font-weight:400}.about-copy>p:not(.section-kicker){font-size:18px;line-height:2;max-width:40em}.profile-facts{font-size:17px;margin-top:32px}.profile-facts>div{padding:16px 0}.profile-facts dt{width:140px}.profile-facts dd{line-height:1.8}
.flow-section{border-block:1px solid var(--line)}.flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:56px}.flow li{padding:0 32px;border-left:1px solid var(--line)}.flow li:nth-child(3){padding-left:32px;border-left:1px solid var(--line)}.flow li:first-child{padding-left:0;border:0}.flow li>span{font-size:46px;color:#69785f}.flow-picture{height:220px;max-width:300px;margin:10px auto 28px}.flow h3{font-size:27px}.flow p{font-size:18px;line-height:1.9}.faq-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}.faq summary{font-size:22px;line-height:1.7;padding:28px 42px 28px 0}.faq summary:after{font-size:27px;top:28px}.faq details>p{font-size:18px;line-height:1.9;padding-right:36px;margin-bottom:30px}.contact-inner{padding-block:110px}.contact h2{font-size:clamp(42px,4.1vw,84px);line-height:1.5}.contact-inner>p:not(.section-kicker){font-size:21px;max-width:900px}.contact .button{margin-top:40px}.contact .caption{font-size:14px!important}.contact-orb{right:5%;top:10%;width:430px;opacity:.5}.contact .motif-word:before{width:340px;height:340px;opacity:.5;left:15%}.footer{padding-block:40px;font-size:15px}.footer .brand{font-size:24px}
@media(max-width:1500px){.hero{min-height:720px}.hero-copy{padding:58px 0 48px 36px}.hero h1{font-size:4vw}.hero-description{font-size:18px}.eyebrow{font-size:14px}.hero-actions .button{font-size:16px}.values-layout>div:first-child{padding-right:40px}.value-list{padding-left:40px}.value-list h3{font-size:25px}.service-table>div{gap:24px;grid-template-columns:.9fr 1.1fr 1fr}.service-table h3{font-size:24px}.service-table .price>span{font-size:23px;flex-wrap:wrap}.work-heading h3{font-size:27px}.flow li{padding-inline:24px}.flow li:nth-child(3){padding-left:24px}.flow h3{font-size:23px}.flow-picture{height:180px}.about{gap:45px}.about-visual{min-height:550px}.faq summary{font-size:20px}.section-top{column-gap:45px}}
@media(max-width:1100px){:root{--rail-width:calc(100% - 48px);--inner-gutter:24px}.header nav{font-size:14px;gap:22px}.header .brand{font-size:18px}.header{min-height:90px;padding-inline:18px}.hero{grid-template-columns:28px minmax(0,1.25fr) minmax(0,1fr);min-height:650px}.hero-copy{padding:42px 0 38px 24px}.hero h1{font-size:3.85vw;line-height:1.5}.eyebrow{font-size:12px;white-space:normal;max-width:330px}.hero-description{font-size:16px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.hero-actions .button{font-size:15px;min-height:56px;padding:15px 20px}.hero-copy>.caption{font-size:12px}.hero-art .character-slot{top:32%;width:115%}.art-note{font-size:13px}.section{padding-block:75px}h2{font-size:42px}.section-kicker{font-size:20px;margin-bottom:30px}.section-top>p:last-child{font-size:18px}.section-top{grid-template-columns:1.2fr 1fr;column-gap:30px}.work{padding:24px 24px 32px}.work-heading{gap:10px;flex-wrap:wrap}.work-heading h3{font-size:24px}.work-number{font-size:14px}.tag{font-size:12px}.work>p{font-size:16px}.work .work-meta{font-size:12px}.intro{font-size:17px}.value-list p{font-size:16px}.value-list h3{font-size:22px}.value-list article{gap:18px;padding:28px 0}.values-layout>div:first-child{padding-right:28px}.value-list{padding-left:28px}.values-mark{width:210px;height:210px}.service-table>div{grid-template-columns:1fr 1.3fr}.service-table .price{grid-column:2}.service-table .price>span{font-size:25px;justify-content:flex-start;gap:18px}.service-table p{font-size:17px}.price-detail-grid{grid-template-columns:1fr 1fr}.about{gap:28px}.about-visual{min-height:480px}.about-circle{width:76%;margin-left:18px}.about-copy h2{font-size:34px}.about-copy>p:not(.section-kicker){font-size:17px}.name{font-size:29px}.name span{font-size:13px;margin:8px 0;display:block}.profile-facts{font-size:15px}.profile-facts dt{width:110px}.flow{grid-template-columns:1fr 1fr;gap:40px 0}.flow li:nth-child(3){padding-left:0;border-left:0}.flow-picture{height:200px}.flow p{font-size:17px}.faq-layout{grid-template-columns:1fr;gap:32px}.contact h2{font-size:48px}.contact-inner>p:not(.section-kicker){font-size:18px}}
@media(max-width:800px){.header nav{display:none}.hero h1{font-size:3.7vw}.hero-copy{padding-left:20px}.hero-description{font-size:15px}.hero-art .character-slot{width:122%}.hero-bottom>a{font-size:13px}.hero-bottom{font-size:11px;padding-inline:20px}.motion-toggle{font-size:12px}h2{font-size:35px}.section-top{display:block}.section-top .section-kicker{margin-bottom:26px}.section-top>p:last-child{margin-top:22px}.work>p{font-size:15px}.work-heading h3{font-size:22px}.tag{font-size:11px}.work-image>span{font-size:11px}.mid-cta>p{font-size:18px}.values-layout{grid-template-columns:1fr}.values-layout>div:first-child{padding:0}.value-list{border-left:0;padding:0;margin-top:36px}.values-mark{width:180px;height:180px}.value-list h3{font-size:25px}.value-list p{font-size:17px;max-width:none}.price-detail-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about-visual{min-height:480px;border:0}.about-circle{width:62%;max-width:360px}.about-copy h2{font-size:38px}.about-copy>p:not(.section-kicker){max-width:none}.contact h2{font-size:40px}.contact-orb{width:280px;right:-60px}}
@media(max-width:600px){:root{--rail-width:calc(100% - 32px);--inner-gutter:18px}body{font-size:16px}.header{min-height:80px;padding-inline:10px}.header .brand{font-size:13px}.header .brand small{font-size:8px}.header .button.small{font-size:11px;padding:10px;min-height:40px}.hero{grid-template-columns:minmax(0,1fr);min-height:0;grid-template-rows:auto auto auto}.hero-copy{padding:34px 20px 0}.hero h1{font-size:clamp(24px,7.4vw,42px);line-height:1.6;letter-spacing:0;margin:25px 0}.eyebrow{font-size:12px;line-height:1.7}.hero-description{font-size:16px;line-height:1.9}.hero-actions{display:flex;margin-top:26px;gap:14px}.hero-actions .button{font-size:15px;min-height:58px;width:100%;padding-inline:12px}.hero-actions .text-button{font-size:15px}.hero-copy>.caption{font-size:12px}.hero-art{border:0;height:290px;margin-top:10px}.hero-art .character-slot{top:12%;width:91%;max-width:380px}.orb-one{width:35%}.orb-two{width:23%;bottom:10%}.art-note{font-size:12px;bottom:2%;right:5%}.hero-bottom{min-height:68px;gap:10px;padding:14px 12px;font-size:10px}.hero-bottom>a{font-size:12px}.motion-toggle{font-size:11px}.section{padding-block:58px}.section-kicker{font-size:18px;letter-spacing:0;margin-bottom:25px}h2,.about-copy h2,.faq-layout h2{font-size:clamp(26px,7.2vw,38px);line-height:1.5;letter-spacing:0}.section-top{margin-bottom:30px}.section-top .section-kicker{padding-bottom:16px}.section-top>p:last-child{font-size:16px}.work-grid{grid-template-columns:1fr}.work,.work:nth-child(odd),.work:nth-child(even){padding:25px 0 30px;border-right:0}.work+.work{border-top:1px solid var(--line)}.work-heading{gap:10px;margin-top:20px}.work-heading h3{font-size:24px}.work>p{font-size:16px}.work .work-meta{font-size:12px}.work>p br{display:none}.work-image>span{font-size:11px}.work summary{font-size:15px}.work details>p{font-size:16px}.review-note{font-size:12px}.mid-cta>p{font-size:18px}.mid-cta .text-button{font-size:16px}.intro{font-size:17px}.value-list h3{font-size:22px}.value-list p{font-size:16px}.value-list article{gap:14px}.value-list article>span{font-size:16px}.values-mark{width:190px;height:190px;margin:24px auto 0}.motif-word:before{width:170px;height:170px;left:-10px}.service-table>div{display:block;padding:28px 0}.service-table h3{font-size:24px}.service-table p{font-size:16px;margin-top:14px}.service-table .price{gap:12px;margin-top:20px}.service-table .price>span{font-size:24px;gap:8px 14px;white-space:normal}.price small{font-size:13px}.price-details>summary{font-size:16px}.price-detail-grid h3{font-size:19px}.price-detail-grid dl{font-size:15px}.service-note{font-size:14px}.about{gap:36px}.about-copy h2{font-size:clamp(24px,6.8vw,36px)}.about-copy>p:not(.section-kicker){font-size:16px}.about-visual{min-height:350px;order:2}.about-circle{width:78%;margin-left:14px;max-width:320px}.about-label{font-size:11px;bottom:0;right:12px}.about-orb{width:95%;left:0;top:0}.portfolio-decoration{height:80%;left:0;top:10%;opacity:.25}.name{font-size:30px;margin:26px 0}.name span{font-size:13px;display:block;margin:8px 0}.profile-facts{font-size:15px}.profile-facts dt{width:96px}.flow{grid-template-columns:1fr;gap:26px;margin-top:32px}.flow li,.flow li:nth-child(3){display:grid;grid-template-columns:86px minmax(0,1fr);gap:0 16px;border-left:0;border-top:1px solid var(--line);padding:24px 0 0!important}.flow li:first-child{border-top:1px solid var(--line)}.flow li>span{font-size:29px;grid-column:1;grid-row:1;margin:0}.flow h3{font-size:21px;grid-column:2;grid-row:1;margin:0 0 14px}.flow-picture{width:86px;height:115px;grid-column:1;grid-row:2;margin:0}.flow p{font-size:16px;grid-column:2;grid-row:2}.faq summary{font-size:18px;padding:23px 32px 23px 0}.faq summary:after{top:23px}.faq details>p{font-size:16px;padding-right:0}.contact-inner{padding-block:65px}.contact h2{font-size:clamp(25px,6.5vw,35px);letter-spacing:0}.contact-inner>p:not(.section-kicker){font-size:16px}.contact .button{font-size:15px;padding:16px;min-height:58px}.contact .text-button{font-size:16px}.contact .caption{font-size:12px!important}.contact .motif-word:before{width:220px;height:220px}.contact-orb{width:220px;right:-80px}.footer{padding:28px 16px;font-size:13px}.footer .brand{font-size:20px}.button{font-size:16px}}
/* Final line-breaking and breathing-room adjustments. */
@media(min-width:1101px){.art-note{bottom:2%;right:8%}}
@media(min-width:601px) and (max-width:1100px){.section-top{display:block}.section-top .section-kicker{margin-bottom:26px}.section-top>p:last-child{margin-top:24px;max-width:36em}}
@media(max-width:600px){.hero-description br{display:none}.hero-description{max-width:22em}.hero-art{height:310px}.hero-art .character-slot{top:9%}}

/* Review 4: quiet entrance, two-line message, motifs behind the content. */
.hero-art{border-left:0}
.hero-title-line{display:block;white-space:nowrap}
.hero h1{font-size:clamp(40px,3.55vw,76px);letter-spacing:0;line-height:1.6}
.hero{grid-template-columns:48px minmax(0,1.4fr) minmax(0,1fr)}
.hero-art .orb-one{width:95%;max-width:none;top:-8%;right:-20%;opacity:.44;animation:orb-drift 32s ease-in-out infinite}
.hero-art .orb-two{width:46%;left:-4%;bottom:4%;opacity:.36;animation:orb-drift 38s ease-in-out infinite reverse}
.hero-art .character-slot{animation:character-arrive 1.7s cubic-bezier(.2,.65,.25,1) both}
.art-plus{display:none}
@keyframes character-arrive{from{opacity:0;transform:translate(-50%,18px) scale(.95)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes orb-drift{0%,100%{transform:translate(0,0) rotate(-12deg) scale(.96)}50%{transform:translate(12px,-12px) rotate(18deg) scale(1.05)}}
.about-circle img{aspect-ratio:1;object-fit:cover;object-position:50% 43%;border-radius:50%}
.about-circle{margin-left:0}
.contact-inner{isolation:isolate}
.contact-inner>h2,.contact-inner>p,.contact-inner>button{position:relative;z-index:2}
.contact .motif-word:before{display:none}
.contact-orb{pointer-events:none;z-index:0;max-width:none;animation:orb-drift 36s ease-in-out infinite;opacity:.32}
.contact-orb-orange{width:650px;right:-200px;top:0}
.contact-orb-green{width:520px;left:-150px;right:auto;top:34%;animation-duration:44s;animation-direction:reverse}
.contact-character{position:relative;z-index:1;width:145px;height:145px;object-fit:contain;margin:26px auto -35px}
.paused .character-slot,.paused .contact-orb{animation-play-state:paused}
@media(max-width:1100px) and (min-width:601px){.hero{grid-template-columns:28px minmax(0,1.4fr) minmax(0,1fr)}.hero h1{font-size:3.25vw}.hero-copy{padding-left:24px}.hero-art .character-slot{width:120%}.about-copy h2{font-size:clamp(26px,3vw,34px);letter-spacing:0}.contact-orb-orange{width:480px;right:-200px}.contact-orb-green{width:400px;left:-160px}}
@media(max-width:600px){.hero{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:clamp(19px,6.1vw,36px);line-height:1.75}.hero-art .orb-one{width:72%;right:-13%;top:-6%}.hero-art .orb-two{width:40%;left:-5%;bottom:2%}.hero-art .character-slot{width:91%}.contact-orb-orange{width:340px;right:-210px;top:2%}.contact-orb-green{width:310px;left:-200px;top:39%}.contact-character{width:120px;height:120px;margin-bottom:-25px}}
@media(prefers-reduced-motion:reduce){.hero-art .character-slot,.contact-orb{animation:none!important}}
.paused .hero-art .orb{animation-play-state:paused}
.paused .hero-art .character-slot{animation:none;opacity:1}

/* Section-spanning motifs live outside section clipping and behind content. */
main{position:relative;isolation:isolate;overflow:clip}
main>section>div,main>section>.section-kicker,main>section>h2{position:relative;z-index:2}
.boundary-orb{position:absolute;z-index:1;pointer-events:none;width:clamp(300px,38vw,660px);aspect-ratio:1;transform:translateY(calc(-50% + var(--travel,0px)));opacity:.27}
.boundary-orb.is-left{left:-130px}.boundary-orb.is-right{right:-130px}
.boundary-orb img{width:100%;height:100%;object-fit:contain;animation:boundary-turn 42s ease-in-out infinite}
.boundary-orb.is-left img{animation-direction:reverse;animation-duration:50s}
@keyframes boundary-turn{0%,100%{transform:rotate(-25deg) translate(-10px,8px) scale(.92)}50%{transform:rotate(40deg) translate(15px,-12px) scale(1.06)}}
.paused .boundary-orb img{animation-play-state:paused}
.about{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:60px}
.about-visual{min-height:320px;border:0}
.about-circle{width:78%;max-width:250px;margin:0}
.about-orb{opacity:.18}
.about-copy h2{font-size:clamp(30px,3vw,56px)}
.portfolio-decoration{display:none!important}
@media(max-width:1100px) and (min-width:601px){.about{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px}.about-visual{min-height:260px}.about-circle{width:160px}.about-copy h2{font-size:30px}.about-label{font-size:9px;right:0}.about-copy>p:not(.section-kicker){font-size:16px}}
@media(max-width:600px){.about{display:flex;gap:24px}.about-visual{min-height:205px;width:100%}.about-circle{width:170px}.about-label{right:0;bottom:0}.about-copy h2{font-size:clamp(24px,6.8vw,36px)}.boundary-orb{width:300px;opacity:.22}.boundary-orb.is-left{left:-165px}.boundary-orb.is-right{right:-165px}}
@media(prefers-reduced-motion:reduce){.boundary-orb img{animation:none!important}}

/* Identity ribbon: an illustrated explanation alongside the page. */
.values,.contact{border:0}
.values>.wrap{border-block:1px solid var(--line)}
.contact>.wrap{border-top:1px solid var(--line)}
.identity-rail{position:fixed;right:0;top:0;bottom:0;width:96px;z-index:10;border-left:1px solid var(--line);background:#e8ebe3;display:flex;flex-direction:column}
.identity-window{overflow:hidden;flex:1;min-height:0}
.identity-track{animation:identity-up 65s linear infinite}
.identity-group{display:flex;flex-direction:column}
.identity-item{display:flex;align-items:center;flex-direction:column;gap:28px;padding:30px 8px}
.identity-item img{width:74px;height:74px;object-fit:contain}
.identity-item span{writing-mode:vertical-rl;font-size:18px;letter-spacing:.14em;line-height:1.6;white-space:nowrap;font-weight:500}
.identity-pause{background:#e8ebe3;border-top:1px solid var(--line);font-size:11px;padding:14px 3px;flex-shrink:0}
@keyframes identity-up{to{transform:translateY(-50%)}}
@keyframes identity-left{to{transform:translateX(-50%)}}
.paused .identity-track,.identity-window:hover .identity-track{animation-play-state:paused}
@media(min-width:1200px){:root{--rail-width:calc(100% - 176px)}.wrap{margin-left:40px;margin-right:136px}.page-rails{left:40px;transform:none}.preview-bar{padding-right:112px}}
@media(max-width:1199px){.identity-rail{position:relative;inset:auto;width:var(--rail-width);height:125px;margin:0 auto;border:1px solid var(--line);flex-direction:row}.identity-window{min-width:0}.identity-track{display:flex;width:max-content;animation:identity-left 55s linear infinite}.identity-group{flex-direction:row;flex-shrink:0}.identity-item{flex-direction:row;gap:24px;padding:22px 30px}.identity-item img{width:78px;height:78px}.identity-item span{writing-mode:horizontal-tb;font-size:19px;letter-spacing:.025em}.identity-pause{width:64px;border-top:0;border-left:1px solid var(--line);font-size:11px;padding:6px}}
@media(max-width:600px){.identity-rail{height:96px}.identity-item{padding:16px 22px;gap:15px}.identity-item img{width:62px;height:62px}.identity-item span{font-size:16px}.identity-pause{width:52px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.identity-track{animation:none!important}.identity-window{overflow:auto}.identity-group[aria-hidden]{display:none}}

/* Quiet, local hover feedback and a small conversational FAQ illustration. */
.hero-bottom{justify-content:space-between}
.faq-decoration{position:relative;isolation:isolate;width:270px;max-width:90%;margin:48px auto 0}
.faq-decoration:before{content:'';position:absolute;inset:8% -8%;background:url('assets/orb-green.png') center/contain no-repeat;opacity:.35;z-index:-1}
.faq-decoration img{width:100%;height:auto}
.faq-bubble{position:absolute;right:8%;top:-8px;display:grid;place-items:center;width:62px;height:62px;background:#fff;border:1px solid #c5c9c0;border-radius:50% 50% 50% 8%;font-family:var(--font-en);font-size:32px;transform:rotate(8deg);z-index:1}
.faq-dot{position:absolute;bottom:16%;left:3%;width:15px;height:15px;border-radius:50%;background:#edb564}
@media(max-width:1100px){.faq-decoration{width:180px;margin:28px 0 0}.faq-bubble{width:46px;height:46px;font-size:26px}}
@media(max-width:600px){.faq-decoration{width:145px;margin:24px auto 0}.faq-bubble{width:38px;height:38px;font-size:23px}}

/* Visible but unhurried breathing: position, scale, and opacity all change. */
.hero-art .orb-one{animation:orb-bloom 18s ease-in-out infinite}
.hero-art .orb-two{animation:orb-bloom 23s ease-in-out infinite reverse}
.contact-orb{animation:orb-bloom 21s ease-in-out infinite}
.contact-orb-green{animation-duration:26s;animation-direction:reverse}
.boundary-orb{opacity:.42}
.boundary-orb img{animation:boundary-bloom 22s ease-in-out infinite}
.boundary-orb.is-left img{animation:boundary-bloom 27s ease-in-out infinite reverse}
@keyframes orb-bloom{0%,100%{transform:translate(-15px,22px) rotate(-25deg) scale(.86);opacity:.23}50%{transform:translate(24px,-28px) rotate(55deg) scale(1.12);opacity:.55}}
@keyframes boundary-bloom{0%,100%{transform:translate(-18px,25px) rotate(-30deg) scale(.85);opacity:.55}50%{transform:translate(24px,-30px) rotate(60deg) scale(1.12);opacity:1}}
.cursor-orb{position:fixed;top:0;left:0;width:34px;height:34px;pointer-events:none;z-index:100;opacity:0;transform:translate(-100px,-100px);will-change:transform}
.cursor-orb::before{content:'';position:absolute;inset:0;background:url('assets/orb.png') center/contain no-repeat;opacity:.75;transition:transform .2s,opacity .2s}
.cursor-orb.is-visible{opacity:1}
.cursor-orb.is-link::before{transform:scale(1.4);opacity:.95}
@media(max-width:600px){@keyframes orb-bloom{0%,100%{transform:translate(-7px,12px) rotate(-25deg) scale(.9);opacity:.23}50%{transform:translate(12px,-16px) rotate(55deg) scale(1.08);opacity:.5}}}
@media(prefers-reduced-motion:reduce){.cursor-orb{display:none}.orb,.boundary-orb img,.contact-orb{animation:none!important}}
@media(hover:none),(pointer:coarse){.cursor-orb{display:none}}

/* Grid rules meet their enclosing rails; text keeps its own inset. */
.values{padding-block:0}
.values>.values-layout{border-bottom:0;padding-block:100px}
.values-layout>div:first-child{padding-right:var(--inner-gutter)}
.value-list{padding-left:0;margin-right:calc(-1 * var(--inner-gutter))}
.value-list article{padding:38px var(--inner-gutter);border-top:1px solid var(--line)}
.value-list article:first-child{border-top:0;padding-top:0}
.value-list article:last-child{border-bottom:0;padding-bottom:0}
.section-top .section-kicker{margin-inline:calc(-1 * var(--inner-gutter));padding-inline:var(--inner-gutter)}
.work-grid,.service-table,.mid-cta,.price-details{margin-inline:calc(-1 * var(--inner-gutter))}
.work,.work:nth-child(odd),.work:nth-child(even){padding-inline:var(--inner-gutter)}
.work details{margin-inline:calc(-1 * var(--inner-gutter));padding-inline:var(--inner-gutter)}
.service-table>div{padding-inline:var(--inner-gutter)}
.mid-cta,.price-details{padding-inline:var(--inner-gutter)}
.faq{margin-right:calc(-1 * var(--inner-gutter));border-left:1px solid var(--line)}
.faq details{padding-inline:var(--inner-gutter)}
.faq summary:after{right:0}
.profile-facts{margin-right:calc(-1 * var(--inner-gutter))}
.profile-facts>div{padding-right:var(--inner-gutter)}
.flow{margin-inline:calc(-1 * var(--inner-gutter))}
.flow li,.flow li:first-child{padding-inline:var(--inner-gutter)}
.hero-bottom{transition:background-color .25s,color .25s}
.hero-bottom .scroll-line{background:currentColor}
.button{transition:background-color .25s,color .25s,box-shadow .25s}
@media(hover:hover){.hero-bottom:hover{background:#111;color:#fff}.button:hover{background:#050505;color:#fff;box-shadow:inset 0 0 0 1px #050505}}
.hero-bottom:focus-within{background:#111;color:#fff}
.button:focus-visible{background:#050505;color:#fff}
@media(max-width:1100px){.values>.values-layout{padding-block:75px}}
@media(max-width:800px){.value-list{margin-left:calc(-1 * var(--inner-gutter));margin-right:calc(-1 * var(--inner-gutter))}.value-list article:first-child{padding-top:20px}.faq{margin-left:calc(-1 * var(--inner-gutter));border-left:0}}
@media(max-width:600px){.values>.values-layout{padding-block:58px}.value-list article{padding:26px var(--inner-gutter)}.value-list article:first-child{padding-top:0}.value-list article:last-child{padding-bottom:0}.flow li,.flow li:first-child,.flow li:nth-child(3){padding:24px var(--inner-gutter) 0!important}.faq details{padding-inline:var(--inner-gutter)}}

/* Review 10: consistent section heading, aligned controls, local keyword strip. */
.work summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:0}
.work summary:after{position:static;inset:auto;transform:none;flex-shrink:0;line-height:1;font-size:20px}
.mid-cta{transition:background-color .25s,color .25s}
.mid-cta .text-button{color:inherit;border-color:currentColor}
@media(hover:hover){.mid-cta:hover{background:#111;color:#fff}}
.mid-cta:focus-within{background:#111;color:#fff}
.values-kicker{grid-column:1/-1;margin-inline:calc(-1 * var(--inner-gutter));padding-inline:var(--inner-gutter);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:38px}
.values-intro{padding-right:var(--inner-gutter)}
.about-visual{display:flex;flex-direction:column;gap:28px;min-width:0}
.about-keywords{width:100%;overflow:hidden;border-block:1px solid var(--line);padding-block:10px}
.about-keyword-track{display:flex;width:max-content;animation:identity-left 36s linear infinite}
.about-keyword-group{display:flex;flex-shrink:0}
.about-keyword{display:flex;align-items:center;gap:12px;padding-right:26px;white-space:nowrap;font-size:14px}
.about-keyword img{width:55px;height:55px;object-fit:contain}
@media(hover:hover){.about-keywords:hover .about-keyword-track{animation-play-state:paused}}
@media(max-width:800px){.values-kicker{margin-bottom:30px}.values-intro{padding-right:0}}
@media(max-width:600px){.values-kicker{padding-bottom:16px;margin-bottom:30px}.about-visual{gap:20px}.about-keywords{max-width:100%}.about-keyword{font-size:14px}}
@media(prefers-reduced-motion:reduce){.about-keyword-track{animation:none}.about-keywords{overflow:auto}.about-keyword-group[aria-hidden]{display:none}}

/* Evidence-led case studies, expanded across the work grid. */
.work:has(>.case-details[open]){grid-column:1/-1;border-right:0}
.work:has(>.case-details[open])>.work-image{max-width:680px}
.case-details>summary{min-height:72px;padding-block:20px;font-size:17px}
.case-details[open]>summary{border-bottom:1px solid var(--line)}
.case-body{padding:38px 0 0}
.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:46px}
.case-index{font:500 12px/1.5 var(--font-en);letter-spacing:.1em;color:var(--muted);margin:0 0 12px}
.case-body h4{font-size:26px;line-height:1.5;margin:0 0 20px;font-weight:700}
.case-body h5{font-size:23px;line-height:1.65;margin:0 0 16px;font-weight:700}
.case-body p:not(.case-index){font-size:17px;line-height:1.95}
.case-points,.case-complete{border-top:1px solid var(--line);padding-top:32px;margin-top:38px}
.case-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:38px;align-items:center;margin:28px 0;padding-bottom:30px}
.case-feature+.case-feature{border-top:1px solid var(--line);padding-top:30px}
.case-image{position:relative;display:block;width:100%;background:#e6e9e3;padding:0;text-align:left;cursor:zoom-in}
.case-image img{width:100%;height:auto}
.case-image>span{display:block;padding:10px 14px;background:#e6e9e3;font-size:12px;text-align:right}
.case-image:hover>span{background:#292e29;color:white}
.case-full-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}
.case-full-grid figure{min-width:0;margin:0}
.case-full-grid figcaption{font-size:15px;margin-bottom:12px}
.case-page-window{height:440px;overflow:auto;border:1px solid var(--line);overscroll-behavior:contain}
.case-sp .case-image{max-width:240px}
.case-body .case-instruction{font-size:14px;color:var(--muted)}
.case-close{width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 0;background:transparent;border-top:1px solid var(--line);margin-top:38px;font-size:16px}
.case-close:hover{color:#805211}
.work-dialog{padding:0;width:min(1180px,calc(100% - 32px));max-height:92vh;overflow:hidden}
.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line)}
.viewer-header h2{font-size:18px;margin:0;line-height:1.6}
.viewer-header .dialog-close{position:static;flex-shrink:0}
.viewer-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 24px;font-size:13px}
.viewer-tools button{padding:6px 12px;background:#e2e6de;border:1px solid #a7afa0}
.viewer-stage{height:70vh;overflow:auto;overscroll-behavior:contain;background:#dde1da}
.viewer-stage img{display:block;width:100%;max-width:none;height:auto;margin:0 auto}
.viewer-stage.is-large img{width:max(100%,1200px)}
@media(max-width:800px){.case-intro{gap:28px}.case-feature{grid-template-columns:1fr;gap:22px}.case-body h5{font-size:21px}.case-body p:not(.case-index){font-size:16px}}
@media(max-width:600px){.case-details>summary{font-size:15px;min-height:68px}.case-body{padding-top:26px}.case-intro,.case-full-grid{grid-template-columns:1fr;gap:28px}.case-body h4{font-size:23px}.case-body h5{font-size:20px}.case-body p:not(.case-index){font-size:15px}.case-points,.case-complete{padding-top:25px;margin-top:28px}.case-page-window{height:360px}.case-close{font-size:15px}.viewer-header{padding:12px}.viewer-header h2{font-size:15px}.viewer-tools{padding:10px 12px;gap:8px}.viewer-tools span{font-size:11px}.viewer-stage{height:65vh}.viewer-stage.is-large img{width:900px}.work-dialog{width:calc(100% - 20px)}}

/* Review 12: lighter rules, compact profile and quiet contact motion. */
.price-details{margin-top:0;border-top:0;padding-inline:0}
.price-details>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--inner-gutter);transition:background-color .25s,color .25s}
.price-details>summary:after{position:static;inset:auto;transform:none;flex:none;line-height:1;font-size:20px}
.price-details .price-detail-grid{padding-inline:var(--inner-gutter)}
@media(hover:hover){.price-details>summary:hover{background:#111;color:#fff}}
.price-details>summary:focus-visible{background:#111;color:#fff}
.faq,.value-list,.values-intro{border-left:0;border-right:0}
.faq-decoration{margin-top:110px}
.about{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:34px 55px;align-items:center}
.about-heading{min-width:0}
.about-heading h2{font-size:clamp(30px,3vw,48px);margin-bottom:26px}
.about-heading .section-kicker{margin-bottom:24px}
.about-visual{min-height:0;width:auto;order:0;align-items:center;justify-content:center}
.about-circle{width:220px;max-width:100%;margin:0}
.about-copy{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:50px;align-items:start}
.about-bio .name{margin:0 0 20px;font-size:30px}
.about-bio .name span{font-size:13px}
.about-bio p{font-size:17px;line-height:1.95;margin:0 0 18px}
.about-copy .profile-facts{margin:0;font-size:15px}
.about-copy .profile-facts>div{padding:14px 0;gap:20px}
.about-copy .profile-facts dt{width:85px;flex-shrink:0}
.contact-character{transform-origin:50% 85%;animation:contact-sway 5s ease-in-out infinite}
@keyframes contact-sway{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-7px)}}
.contact.is-arriving .contact-inner>h2,.contact.is-arriving .contact-inner>p,.contact.is-arriving .contact-inner>button{animation:contact-welcome 1.25s ease-out both}
.contact.is-arriving .contact-inner>button{animation-delay:.15s}
@keyframes contact-welcome{from{opacity:.35;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.about{grid-template-columns:minmax(0,1fr) 180px;gap:30px}.about-circle{width:180px}.about-copy{gap:30px}.faq-decoration{margin-top:75px}}
@media(max-width:700px){.about{grid-template-columns:minmax(0,1fr);gap:26px}.about-heading{grid-column:1}.about-heading h2{font-size:clamp(24px,6.8vw,36px)}.about-visual{grid-row:2;justify-self:start}.about-circle{width:140px}.about-copy{grid-template-columns:1fr;gap:22px}.about-bio p{font-size:16px}.about-copy .profile-facts{font-size:14px}.about-copy .profile-facts>div{gap:12px}.faq-decoration{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.contact-character,.contact.is-arriving .contact-inner>*{animation:none!important}}

/* Original work exports remain intact; detail windows show the relevant section. */
.case-crop{overflow:hidden;width:100%}
.case-crop img{display:block;width:100%;height:auto;max-width:none}
.work-image>img{aspect-ratio:878/505;object-fit:contain}
.about-story{grid-column:1/-1;border-block:1px solid var(--line);width:100%}
.about-story>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;font-size:18px;list-style:none}
.about-story>summary:after{position:static;inset:auto;transform:none;line-height:1;font-size:22px}
.story-body{padding:8px 0 0}
.story-lead{font-size:18px;line-height:1.9;margin-bottom:30px}
.story-episodes{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.story-index{font:500 12px/1.5 var(--font-en);letter-spacing:.12em;color:var(--muted);margin-bottom:12px}
.story-episodes h3{font-size:24px;font-weight:700;margin-bottom:20px}
.story-episodes p:not(.story-index){font-size:16px;line-height:2;margin-bottom:20px}
.story-close{display:flex;justify-content:space-between;width:100%;padding:20px 0;background:transparent;border-top:1px solid var(--line);margin-top:16px;font-size:15px}
@media(max-width:700px){.about-story>summary{font-size:16px}.story-lead{font-size:16px}.story-episodes{grid-template-columns:1fr;gap:24px}.story-episodes section+section{padding-top:24px;border-top:1px solid var(--line)}.story-episodes h3{font-size:22px}.story-episodes p:not(.story-index){font-size:15px}}

/* Review 14: full-width interaction rows and a connected profile layout. */
.work .case-details{padding-inline:0}
.case-details>summary{padding-inline:var(--inner-gutter)}
.case-body{padding-inline:var(--inner-gutter)}
.case-details>summary,.price-details>summary,.about-story>summary{transition:background-color .25s,color .25s}
.case-details>summary:hover,.price-details>summary:hover,.about-story>summary:hover,
.case-details>summary:focus-visible,.price-details>summary:focus-visible,.about-story>summary:focus-visible{background:#111;color:#fff}
.about{grid-template-columns:minmax(0,1fr);gap:32px}
.about-heading{grid-column:1/-1}
.about-heading h2{margin-bottom:0}
.about>.about-keywords,.about>.profile-facts,.about>.about-story{width:calc(100% + 2 * var(--inner-gutter));margin-inline:calc(-1 * var(--inner-gutter))}
.about-copy{grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:center}
.about-copy .about-visual{grid-row:auto;justify-self:center;align-self:center}
.about-circle{width:190px}
.about-bio p{max-width:52em}
.about>.profile-facts{display:grid;grid-template-columns:.75fr 1.5fr 1.5fr 1fr;margin-block:0;border-block:1px solid var(--line);font-size:14px}
.about>.profile-facts>div{display:block;padding:22px var(--inner-gutter);border:0;border-left:1px solid var(--line)}
.about>.profile-facts>div:first-child{border-left:0}
.about>.profile-facts dt{width:auto;font-size:12px;margin-bottom:8px;color:var(--muted)}
.about>.profile-facts dd{margin:0;overflow-wrap:anywhere}
.about-story>summary{padding-inline:var(--inner-gutter)}
.about-story .story-body{padding-inline:var(--inner-gutter)}
.footer-band{background:#2b2d2c;color:#f1f2ef}
.footer{background:transparent;border-color:#626762}
.footer>a:last-child{border-color:#91978f}
@media(max-width:800px){.about>.profile-facts{grid-template-columns:1fr 1fr}.about>.profile-facts>div:nth-child(3){border-left:0}.about>.profile-facts>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:600px){.about-copy{grid-template-columns:1fr;gap:22px}.about-copy .about-visual{justify-self:start}.about-circle{width:140px}.about>.profile-facts{grid-template-columns:1fr}.about>.profile-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;border-left:0;padding-block:16px}.about>.profile-facts>div+div{border-top:1px solid var(--line)}.about>.profile-facts dt{margin:0}.about{gap:26px}}
.about>.about-keywords{max-width:none}

/* Review 15: a gentle downward current instead of an imperceptible rotation. */
.about-keyword-track{animation-duration:72s}
.boundary-orb{opacity:.48;transform:translateY(-50%);width:clamp(340px,43vw,680px)}
.boundary-orb img,.boundary-orb.is-left img{animation:ambient-fall 28s linear infinite;will-change:transform,opacity}
.hero-art .orb-one,.hero-art .orb-two,.contact-orb,.contact-orb-green{animation:nearby-drift 22s ease-in-out infinite alternate;will-change:transform,opacity}
.hero-art .orb-two,.contact-orb-green{animation-delay:-11s;animation-duration:27s}
@keyframes ambient-fall{0%{transform:translate(-35px,-220px) scale(.9);opacity:0}18%{opacity:.85}50%{transform:translate(48px,0) scale(1.04);opacity:1}82%{opacity:.85}100%{transform:translate(-15px,220px) scale(.96);opacity:0}}
@keyframes nearby-drift{from{transform:translate(-32px,-65px) scale(.92);opacity:.3}to{transform:translate(38px,90px) scale(1.08);opacity:.55}}
.text-enter{animation:text-from-left 1.45s cubic-bezier(.18,.6,.3,1) both}
@keyframes text-from-left{from{opacity:.12;transform:translateX(-26px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)}}
@media(max-width:600px){.boundary-orb{width:330px}.boundary-orb.is-left{left:-160px}.boundary-orb.is-right{right:-160px}@keyframes ambient-fall{0%{transform:translate(-15px,-150px) scale(.92);opacity:0}18%{opacity:.85}50%{transform:translate(28px,0) scale(1.04);opacity:1}82%{opacity:.85}100%{transform:translate(-8px,150px) scale(.96);opacity:0}}}
@media(prefers-reduced-motion:reduce){.text-enter,.boundary-orb img,.hero-art .orb,.contact-orb{animation:none!important;will-change:auto}.text-enter{opacity:1;transform:none;clip-path:none}}

/* The outer glow travels down the document; its inner image gently sways. */
.boundary-orb{margin-top:-300px;will-change:transform;transform:none}
.boundary-orb img,.boundary-orb.is-left img{animation:travelling-sway 24s ease-in-out infinite alternate;opacity:.85}
.boundary-orb.is-left img{animation-duration:29s}
@keyframes travelling-sway{from{transform:translateX(-32px) rotate(-8deg) scale(.92);opacity:.7}to{transform:translateX(38px) rotate(12deg) scale(1.08);opacity:1}}
@media(max-width:600px){.boundary-orb{margin-top:-165px}}
@media(prefers-reduced-motion:reduce){.boundary-orb{will-change:auto}.boundary-orb img,.boundary-orb.is-left img{animation:none!important;will-change:auto}}

/* Review 17: staggered warm/cool glows on both sides, with two distinct sizes. */
.boundary-orb.is-large{width:clamp(500px,48vw,720px);margin-top:clamp(-360px,-24vw,-250px);opacity:.46}
.boundary-orb.is-small{width:clamp(330px,32vw,470px);margin-top:clamp(-235px,-16vw,-165px);opacity:.5}
.boundary-orb.is-left{left:-105px;right:auto}
.boundary-orb.is-right{right:-85px;left:auto}
@media(max-width:600px){.boundary-orb.is-large{width:360px;margin-top:-180px}.boundary-orb.is-small{width:260px;margin-top:-130px}.boundary-orb.is-left{left:-140px}.boundary-orb.is-right{right:-110px}}

/* Review 18: clearer diagonal drift, with separate space for hero/contact glows. */
.space-word:after{display:none}
.boundary-orb img,.boundary-orb.is-left img{animation:visible-sway 12s ease-in-out infinite alternate}
.boundary-orb.is-left img{animation-direction:alternate-reverse;animation-duration:14s}
@keyframes visible-sway{from{transform:translateX(-70px) rotate(-8deg) scale(.94);opacity:.8}to{transform:translateX(90px) rotate(12deg) scale(1.04);opacity:1}}
.hero-art .orb-one,.hero-art .orb-two,.contact-orb,.contact-orb-green{animation-duration:12s;animation-name:nearby-drift}
.hero-art .orb-two,.contact-orb-green{animation-duration:15s;animation-delay:-7s}
.hero-art .orb-two{width:40%;left:-8%;bottom:0}
.contact-orb-orange{right:-230px;top:0;width:600px}
.contact-orb-green{left:-180px;top:48%;width:440px}
@media(max-width:600px){@keyframes visible-sway{from{transform:translateX(-25px) rotate(-8deg) scale(.94);opacity:.8}to{transform:translateX(60px) rotate(12deg) scale(1.04);opacity:1}}.contact-orb-orange{right:-220px;width:340px}.contact-orb-green{left:-205px;width:310px;top:48%}}
@media(prefers-reduced-motion:reduce){.boundary-orb img,.boundary-orb.is-left img,.hero-art .orb,.contact-orb{animation:none!important}}

/* Review 19: one shared hero atmosphere, with quieter text entrances. */
.hero{isolation:isolate;overflow:clip}
.hero>.hero-atmosphere{position:absolute;inset:0 0 74px;z-index:0;pointer-events:none;overflow:visible}
.hero-atmosphere .orb{position:absolute;max-width:none;animation:nearby-drift 12s ease-in-out infinite alternate;opacity:.4}
.hero-atmosphere .orb-one{width:58%;right:-18%;top:-22%}
.hero-atmosphere .orb-two{width:36%;left:10%;bottom:2%;animation-duration:15s;animation-delay:-7s}
.hero-art{overflow:visible;border-left:0;background:none}
.hero-art .ambient{display:none}
.hero-art .character-slot{width:118%;left:46%;top:24%}
.hero-copy,.hero-rail,.hero-art{position:relative;z-index:2}
.hero-bottom{position:relative;z-index:2}
#values .motif-word:before{display:none}
.text-enter{animation:text-soft-fade 2s cubic-bezier(.22,.45,.35,1) both}
@keyframes text-soft-fade{from{opacity:0}to{opacity:1}}
@media(min-width:601px) and (max-width:1100px){.hero-art .character-slot{width:128%;left:46%;top:25%}.hero-atmosphere .orb-one{width:64%;right:-20%;top:-9%}.hero-atmosphere .orb-two{width:40%;left:6%;bottom:4%}}
@media(max-width:600px){.hero-atmosphere .orb-one{width:105%;right:-45%;top:26%}.hero-atmosphere .orb-two{width:74%;left:-26%;bottom:40%}.hero-art{height:330px}.hero-art .character-slot{width:96%;left:50%;top:0}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere .orb,.text-enter{animation:none!important}.text-enter{opacity:1}}

/* Keep the page rails above the footer, without drawing through its background. */
.footer-band{position:relative;z-index:6}

/* Portfolio-cover texture, behind every hero element and inside its rails. */
.hero{background:var(--bg) url('assets/hero-cover-background.png') center center / cover no-repeat}

/* Soft ground shadows separate the large characters from their resting plane. */
.floating-character{position:relative;isolation:isolate}
.floating-character>.floating-art{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;animation:character-hover 5.8s ease-in-out infinite}
.character-slot:after,.floating-character:after,.faq-decoration:after{content:'';position:absolute;pointer-events:none;left:30%;width:40%;height:7%;min-height:9px;bottom:2%;border-radius:50%;background:radial-gradient(ellipse,rgba(55,48,38,.22) 0%,rgba(55,48,38,.1) 42%,transparent 72%);filter:blur(3px);z-index:0;animation:ground-shadow 5.8s ease-in-out infinite}
.hero-art .character-slot:after{bottom:-5%;left:33%;width:34%;height:8%}
.hero-art .character{position:relative;z-index:1;animation:character-hover 5.8s ease-in-out infinite}
.faq-decoration>img{position:relative;z-index:1;animation:character-hover 5.8s ease-in-out infinite}
.faq-decoration .faq-bubble{z-index:2}
.contact-character{animation:none}
.flow-picture:after{bottom:2%;height:8%}
@keyframes character-hover{0%,100%{transform:translateY(-3px) rotate(-.5deg)}50%{transform:translateY(-13px) rotate(.5deg)}}
@keyframes ground-shadow{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.78);opacity:.48}}
@media(max-width:600px){@keyframes character-hover{0%,100%{transform:translateY(-2px) rotate(-.5deg)}50%{transform:translateY(-9px) rotate(.5deg)}}.flow-picture:after{filter:blur(2px)}}
@media(prefers-reduced-motion:reduce){.floating-character>.floating-art,.hero-art .character,.faq-decoration>img,.character-slot:after,.floating-character:after,.faq-decoration:after{animation:none!important}}

/* Review 23: connect the process grid to the page rails. */
.flow-section{border-block:0;padding-block:0}
.flow-section>.wrap{padding-block:100px;border-block:1px solid var(--line)}
.flow{border-block:1px solid var(--line);gap:0}
.flow li,.flow li:first-child{padding-block:28px}
.values-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.value-list{border-left:1px solid var(--line)}
.button-arrow{position:relative;display:inline-block;flex:none;width:25px;height:25px;overflow:hidden;color:#f8bf64;font:24px/25px Arial,sans-serif}
.button-arrow>span{position:absolute;inset:0;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.button-arrow>span:last-child{transform:translateX(-130%)}
@media(hover:hover){.button:hover .button-arrow>span:first-child{transform:translateX(130%)}.button:hover .button-arrow>span:last-child{transform:translateX(0)}}
.button:focus-visible .button-arrow>span:first-child{transform:translateX(130%)}
.button:focus-visible .button-arrow>span:last-child{transform:translateX(0)}
@media(max-width:1100px){.flow-section>.wrap{padding-block:75px}}
@media(max-width:800px){.values-layout{grid-template-columns:1fr}.value-list{border-left:0}.flow li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:600px){.flow-section>.wrap{padding-block:58px}.flow li,.flow li:first-child,.flow li:nth-child(3){padding:24px var(--inner-gutter)!important}.flow li:first-child{border-top:0}.button-arrow{width:21px;height:23px;font-size:21px;line-height:23px}}
@media(prefers-reduced-motion:reduce){.button-arrow>span{transition:none}}
@media(min-width:801px){.values-intro .intro{font-size:clamp(16px,1.5vw,20px)}.value-list{position:relative}.value-list:before{content:"";position:absolute;left:-1px;top:-39px;height:39px;border-left:1px solid var(--line)}}
@media(min-width:601px) and (max-width:1100px){.flow li:nth-child(n+3){border-top:1px solid var(--line)}}

/* Review 24: tighter work cards and a closed values grid. */
.work,.work:nth-child(odd),.work:nth-child(even){padding-bottom:12px}
.values-layout:after{content:"";display:block;grid-column:1/-1;margin-inline:calc(-1 * var(--inner-gutter));border-top:1px solid var(--line)}
.value-list article:last-child{padding-bottom:32px}
@media(max-width:600px){.work,.work:nth-child(odd),.work:nth-child(even){padding-bottom:8px}.value-list article:last-child{padding-bottom:26px}}

/* Review 25: welcoming copy and a meeting-first contact invitation. */
.hero-copy .welcome-note{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.contact h2{font-size:clamp(27px,3.2vw,58px);margin-top:28px}
.contact-inner>.contact-thanks{font-size:16px;margin-top:0}
.contact-inner>.booking-note{font-size:14px;line-height:1.9;margin-top:16px}
.contact-inner>.contact-closing{font-size:16px;margin-top:32px}
@media(max-width:600px){.hero-copy .welcome-note{font-size:12px;max-width:24em;margin-bottom:16px}.contact h2{font-size:clamp(23px,5.6vw,30px);text-wrap:balance}.contact-inner>.contact-thanks,.contact-inner>.contact-closing{font-size:14px}.contact-inner>.booking-note{font-size:13px}}
.contact h2>span{display:inline-block}
@media(max-width:600px){.contact h2{text-wrap:wrap}.contact-inner>.booking-note{font-size:13px!important}}

/* Review 27: a soft welcome before the first view. */
.opening{display:none}
html.intro-pending{overflow:hidden}
.intro-pending .opening{display:grid;place-items:center;position:fixed;inset:0;z-index:10000;background:#edf0e7 url('assets/hero-cover-background.png') center/cover no-repeat;text-align:center;transition:opacity .9s ease;isolation:isolate}
.opening:before{content:"";position:absolute;inset:0;background:rgba(244,245,238,.55);z-index:-1}
.opening-copy{padding:24px;color:#303b2f}
.opening-en{display:block;font:500 clamp(40px,7vw,88px)/1.2 var(--font-en);letter-spacing:.12em;animation:opening-reveal 1.7s cubic-bezier(.2,.6,.3,1) both}
.opening-copy p{font-size:clamp(16px,2vw,23px);line-height:2.1;letter-spacing:.08em;margin:28px 0;animation:opening-reveal 1.7s .2s both}
.opening-sign{display:block;font:400 12px/1.5 var(--font-en);letter-spacing:.2em;animation:opening-reveal 1.5s .4s both}
.opening-skip{position:absolute;right:32px;bottom:30px;padding:12px 8px;background:transparent;color:#4e5a49;border-bottom:1px solid #8b9485;font-size:13px;cursor:pointer}
.opening-skip:focus-visible{outline:2px solid #303b2f;outline-offset:4px}
.opening.is-leaving{opacity:0;pointer-events:none}
@keyframes opening-reveal{from{opacity:0;filter:blur(9px);transform:translateY(14px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:600px){.opening-skip{right:24px;bottom:24px}.opening-copy p{letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.intro-pending .opening{display:none}html.intro-pending{overflow:auto}}

/* Review 28: two visible, separated glows drift sideways as they descend. */
.hero-atmosphere .orb{animation:hero-glow-fall 18s linear infinite;will-change:transform,top,opacity;bottom:auto;opacity:.85}
.hero-atmosphere .orb-one{width:48%;right:-10%;left:auto;top:0;--sway:42px;animation-delay:-4s}
.hero-atmosphere .orb-two{width:36%;left:-5%;right:auto;top:0;bottom:auto;--sway:-34px;animation-duration:20s;animation-delay:-9s;filter:saturate(1.35)}
@keyframes hero-glow-fall{
 0%{top:-38%;transform:translateX(0);opacity:0}
 12%{opacity:.85}
 25%{top:-3.5%;transform:translateX(var(--sway))}
 50%{top:31%;transform:translateX(0);opacity:.85}
 75%{top:65.5%;transform:translateX(calc(-1 * var(--sway)));opacity:.7}
 100%{top:100%;transform:translateX(0);opacity:0}
}
@media(max-width:600px){.hero-atmosphere .orb-one{width:300px;right:-105px;--sway:26px}.hero-atmosphere .orb-two{width:240px;left:-70px;--sway:-24px}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere .orb-one{top:4%;opacity:.75}.hero-atmosphere .orb-two{top:38%;opacity:.85}}

/* Review 29: offset the scale, starting height and sway of the hero glows. */
.hero-atmosphere .orb-one{width:54%;right:-16%;--sway:54px;animation-duration:19s;animation-delay:-2s}
.hero-atmosphere .orb-two{width:29%;left:4%;--sway:-23px;animation-duration:23s;animation-delay:-8s}
@media(max-width:600px){.hero-atmosphere .orb-one{width:320px;right:-128px;--sway:32px}.hero-atmosphere .orb-two{width:190px;left:-34px;--sway:-18px}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere .orb-one{top:-5%}.hero-atmosphere .orb-two{top:43%}}

/* Review 30: prioritize the offer, work and conversation. */
:root{--muted:#50594e}
@media(min-width:1200px){:root{--rail-width:calc(100% - 80px)}.wrap{margin-inline:auto}.page-rails{left:50%;transform:translateX(-50%)}}
.hero{background-image:linear-gradient(rgba(240,242,237,.62),rgba(240,242,237,.62)),url('assets/hero-cover-background.png')}
.hero-copy .eyebrow{font-size:14px;line-height:1.8;white-space:normal}
.hero-description{font-size:20px;line-height:1.9}
.hero-art .character-slot{width:105%;left:50%;top:25%;animation:none}
.hero h1,.hero-copy p{opacity:1;animation:none}
.work-image>span{position:static;display:block;background:transparent;color:var(--muted);padding:9px 0;text-align:right;font-size:13px;transform:none}
.work .work-meta{font-size:14px;color:var(--muted)}
.mid-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:30px}
.mid-cta>p{font-size:18px;max-width:25em;margin:0}
.consult-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.mid-cta .button{font-size:16px;min-height:56px;padding:14px 22px}
.mid-cta:hover,.mid-cta:focus-within{background:transparent;color:var(--ink)}
.values>.values-layout{padding-block:72px}
#service{padding-block:80px}
#about{padding-block:72px;gap:28px}
.flow-section>.wrap{padding-block:64px}
.flow-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.flow-heading h2{margin:0}
.flow-heading .flow-picture{flex:none;width:130px;height:130px;margin:0 10px 0 0}
.flow{margin-top:30px}
.flow li>span{font-size:36px;margin-bottom:20px}
.flow h3{font-size:22px}
.flow p{font-size:17px}
#faq{padding-block:64px}
.contact-inner{padding-block:80px}
.contact-inner>.contact-thanks{font-size:14px;color:var(--muted)}
.contact-inner>.contact-message{font-size:18px;max-width:40em}
.contact .caption{font-size:14px!important}
.header{gap:20px}.header nav{gap:24px}
@media(max-width:1100px){.hero-description{font-size:18px}.header .button.small{font-size:14px;padding-inline:16px}.values>.values-layout,#service,#about{padding-block:60px}}
@media(max-width:800px){.hero-copy .eyebrow{font-size:12px}.hero-description{font-size:16px}.hero-art .character-slot{width:100%;top:30%}.mid-cta{align-items:flex-start}.consult-actions{gap:18px}}
@media(max-width:600px){.header{flex-wrap:wrap;gap:12px;padding-block:16px}.header .button.small{font-size:12px;min-height:42px}.hero-copy{padding:30px 18px 0}.hero-description br{display:block}.hero-description{font-size:16px}.hero-art{height:255px;margin-top:16px}.hero-art .character-slot{width:85%;max-width:300px;top:0}.hero h1{font-size:clamp(19px,6.1vw,36px)}.hero-copy>.caption{font-size:13px}.mid-cta .consult-actions{width:100%;flex-direction:column;align-items:flex-start}.mid-cta .button{width:100%;font-size:15px}.work .work-meta{font-size:13px}.values>.values-layout,#service,#about{padding-block:48px}.flow-section>.wrap,#faq{padding-block:48px}.flow-heading{gap:12px}.flow-heading h2{font-size:26px}.flow-heading .flow-picture{width:80px;height:90px;margin:0}.flow li,.flow li:first-child,.flow li:nth-child(3){grid-template-columns:40px minmax(0,1fr);gap:0 14px}.flow li>span{font-size:26px}.flow h3{font-size:20px}.flow p{font-size:16px}.contact-inner{padding-block:60px}.contact-inner>.contact-message{font-size:16px}.contact .caption{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.hero-art .character-slot{animation:none}}

/* Review 31: restore the illustrated ribbon without narrowing the page. */
.identity-rail{position:relative;inset:auto;width:var(--rail-width);max-width:2240px;height:125px;margin:0 auto;border:1px solid var(--line);flex-direction:row;z-index:2}
.identity-window{min-width:0}
.identity-track{display:flex;width:max-content;animation:identity-left 55s linear infinite}
.identity-group{flex-direction:row;flex-shrink:0}
.identity-item{flex-direction:row;gap:24px;padding:22px 30px}
.identity-item img{width:78px;height:78px}
.identity-item span{writing-mode:horizontal-tb;font-size:19px;letter-spacing:.025em}
@media(max-width:600px){.identity-rail{height:96px}.identity-item{padding:16px 22px;gap:15px}.identity-item img{width:62px;height:62px}.identity-item span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.identity-track{animation:none!important}.identity-window{overflow:auto}.identity-group[aria-hidden]{display:none}}

/* Review 32: return the about ribbon with quieter, typographic separators. */
.identity-item .ribbon-divider,.about-keyword .ribbon-divider{display:inline-block;flex:none;color:#89927f;font:300 26px/1 var(--font-en);letter-spacing:0}
.identity-item{min-height:122px}
.about-keyword{min-height:55px;gap:22px;padding-right:28px}
.about-keyword .ribbon-divider{font-size:20px}
@media(max-width:600px){.identity-item{min-height:94px}.identity-item .ribbon-divider{font-size:23px}.about-keyword{gap:18px;padding-right:24px}}


/* Review 33: small textured gradient circles separate the ribbon phrases. */
.identity-item .gradient-divider,.about-keyword .gradient-divider{width:32px;height:32px;display:inline-block;flex:none;border-radius:50%;background:url('assets/orb.png') center/150% 150% no-repeat;opacity:.85}
.identity-item .gradient-divider.is-green,.about-keyword .gradient-divider.is-green{background-image:url('assets/orb-green.png')}
.about-keyword .gradient-divider{width:23px;height:23px}
@media(max-width:600px){.identity-item .gradient-divider{width:26px;height:26px}.about-keyword .gradient-divider{width:21px;height:21px}}

/* Review 35: compact navigation, wide-screen ribbon and grid endpoints. */
.header{position:sticky;top:0;z-index:40;min-height:76px;background:rgba(240,242,237,.96);backdrop-filter:blur(12px);padding-block:10px}
.header .brand{font-size:21px}.header .brand small{font-size:10px}.header .button.small{min-height:44px;padding:10px 18px;font-size:14px}
html{scroll-padding-top:96px}section[id]{scroll-margin-top:96px}
@media(hover:hover){.mid-cta:hover{background:#292e29;color:#fff}.mid-cta:hover .button{background:#f0f2ed;color:#292e29;border-color:#f0f2ed}.mid-cta:hover .button:hover{background:#fff}}
.mid-cta:focus-within{background:#292e29;color:#fff}.mid-cta:focus-within .button{background:#f0f2ed;color:#292e29;border-color:#f0f2ed}
@media(min-width:1200px){:root{--rail-width:calc(100% - 176px)}.wrap{margin-left:40px;margin-right:136px}.page-rails{left:40px;transform:none}.identity-rail{position:fixed;inset:0 0 0 auto;width:96px;height:100dvh;margin:0;border:0;border-left:1px solid var(--line);flex-direction:column;z-index:41}.identity-track{display:block;width:auto;animation:identity-up 65s linear infinite}.identity-group{flex-direction:column}.identity-item{flex-direction:column;gap:28px;padding:30px 8px;min-height:0}.identity-item img{width:74px;height:74px}.identity-item span:not(.gradient-divider){writing-mode:vertical-rl;font-size:18px;letter-spacing:.14em}}
@media(max-width:600px){.header{min-height:64px;padding:8px 10px;gap:8px}.header .brand{font-size:13px}.header .brand small{font-size:8px}.header .button.small{font-size:11px;padding:8px;min-height:40px}.header .brand img{width:26px;height:26px}html{scroll-padding-top:110px}section[id]{scroll-margin-top:110px}}
@media(prefers-reduced-motion:reduce){.identity-track{animation:none!important}}

/* Review 36: compact footer, plain grid rules. */
.footer{padding-block:22px;min-height:0}
@media(max-width:600px){.footer{padding-block:18px;row-gap:12px}}

/* Review 37: join the main two-column dividers to their horizontal rules. */
@media(min-width:601px){.hero-art{border-left:1px solid var(--line);align-self:stretch}.hero-copy{padding-right:24px}.hero-art .character-slot{width:100%}}
@media(min-width:1101px){
 .section-top{column-gap:0;row-gap:0;align-items:stretch;margin-bottom:0}
 .section-top .section-kicker{margin-bottom:0}
 .section-top>h2{margin:0;padding:34px var(--inner-gutter) 34px 0}
 .section-top>p:last-child{border-left:1px solid var(--line);margin:0;padding:34px 0 34px var(--inner-gutter);display:flex;align-items:center;max-width:none}
 .faq-layout{column-gap:0;row-gap:0}
 .faq-layout>div:first-child{border-block:1px solid var(--line);margin-left:calc(-1 * var(--inner-gutter));padding:32px var(--inner-gutter)}
 .faq{border-left:1px solid var(--line)}
}
@media(max-width:1100px){.section-top{margin-bottom:0;padding-bottom:30px}.faq-layout>div:first-child{margin-inline:calc(-1 * var(--inner-gutter));padding:26px var(--inner-gutter);border-top:1px solid var(--line)}.faq-layout{row-gap:0}}
@media(max-width:600px){.hero-art{border-left:0;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.hero-art .character-slot{top:18px}}
@media(min-width:1101px){.section-top>p:last-child{display:block;align-content:center}}

/* Review 38: a light editorial masthead and matching English headings. */
.hero-masthead{padding:8px var(--inner-gutter) 14px;border-block:1px solid var(--line);font-family:var(--font-en);font-weight:200;font-size:clamp(56px,11.1vw,220px);letter-spacing:-.055em;line-height:1.05;white-space:nowrap;color:var(--ink)}
.section-kicker{font-family:var(--font-en);font-weight:300;font-size:clamp(28px,3.5vw,56px);letter-spacing:-.025em;line-height:1.15}
.hero-art{border-left:0!important;border-top:0!important}
@media(min-width:1200px){.hero-masthead{font-size:clamp(56px,10.4vw,220px)}}
@media(max-width:600px){.hero-masthead{padding:12px 12px 14px;font-size:10.8vw;letter-spacing:-.055em}.section-kicker{font-size:clamp(24px,6.8vw,34px)}.contact .section-kicker{font-size:clamp(22px,6vw,30px)}}
.section-kicker{font-weight:200}

/* Review 39: supplied portfolio lettering replaces the large name masthead. */
@media(min-width:601px){.hero{grid-template-columns:94px minmax(0,1.4fr) minmax(0,1fr)}.hero-rail{padding:30px 12px;display:flex;align-items:center;justify-content:center;border-right:0}.hero-rail .portfolio-title{width:70px;height:auto;max-height:500px;object-fit:contain}.hero-copy{padding-left:24px}}
@media(max-width:600px){.hero-rail{display:flex;position:relative;grid-column:1;grid-row:auto;height:76px;width:100%;border:0;align-items:center;justify-content:center;padding:0;overflow:hidden}.hero-rail .portfolio-title{position:absolute;width:56px;max-width:none;height:250px;object-fit:contain;transform:rotate(90deg)}.hero-copy{grid-row:auto}.hero-art{grid-row:auto}.hero-bottom{grid-row:auto}}

/* Review 40: scale the portfolio lettering to the first-view content. */
@media(min-width:601px){.hero{grid-template-columns:120px minmax(0,1.4fr) minmax(0,1fr)}.hero-rail{padding:24px 8px}.hero-rail .portfolio-title{width:104px;height:100%;max-height:560px;object-fit:contain}.hero-copy{padding-left:18px}}
@media(min-width:601px) and (max-width:800px){.hero{grid-template-columns:90px minmax(0,1.4fr) minmax(0,1fr)}.hero-rail .portfolio-title{width:78px;max-height:480px}.hero-copy{padding-left:12px}}
@media(max-width:600px){.hero-rail{height:98px}.hero-rail .portfolio-title{width:72px;height:calc(100vw - 64px);max-height:480px}}

/* Review 41: connect the portfolio title column to the hero grid. */
@media(min-width:601px){.hero-rail{border-right:1px solid var(--line);align-self:stretch}}
@media(max-width:600px){.hero-rail{border-bottom:1px solid var(--line)}}

/* Review 42: let the supplied vertical title fill the first-view height. */
@media(min-width:801px){.hero{grid-template-columns:142px minmax(0,1.4fr) minmax(0,1fr)}.hero-rail{padding:16px 5px}.hero-rail .portfolio-title{width:130px;max-height:610px;height:100%}}
@media(min-width:601px) and (max-width:800px){.hero-rail{padding-block:16px}.hero-rail .portfolio-title{width:84px;max-height:540px}}

/* Review 43: plush accents float lightly around the character's head. */
.hero-feelings{position:absolute;inset:0;pointer-events:none;z-index:3}
.feeling{position:absolute;display:block;width:68px;aspect-ratio:1;background-image:url('assets/plush-motifs.png');background-repeat:no-repeat;background-size:300% 100%;animation:feeling-float 6s ease-in-out infinite;filter:drop-shadow(0 4px 5px rgba(70,60,40,.06))}
.feeling-spark{background-position:left center;left:3%;top:21%;width:62px;--tilt:-12deg;animation-delay:-1s}
.feeling-cloud{background-position:center center;left:38%;top:9%;width:90px;--tilt:5deg;animation-duration:7s;animation-delay:-3s}
.feeling-sprout{background-position:right center;right:2%;top:18%;width:70px;--tilt:13deg;animation-duration:6.5s;animation-delay:-4s}
@keyframes feeling-float{0%,100%{transform:translateY(0) rotate(var(--tilt))}50%{transform:translateY(-10px) rotate(calc(var(--tilt) + 5deg))}}
@media(max-width:1100px) and (min-width:601px){.feeling-spark{width:48px;top:22%}.feeling-cloud{width:68px;top:12%}.feeling-sprout{width:54px;top:22%}}
@media(max-width:600px){.hero-art{margin-top:48px}.feeling-spark{left:8%;top:15%;width:42px}.feeling-cloud{left:42%;top:-9%;width:60px}.feeling-sprout{right:7%;top:7%;width:47px}}
@media(prefers-reduced-motion:reduce){.feeling{animation:none;transform:rotate(var(--tilt))}}

/* Review 44: give the floating plush accents a little more presence. */
.feeling-spark{width:75px}.feeling-cloud{width:100px}.feeling-sprout{width:84px;right:3%}
@media(max-width:1100px) and (min-width:601px){.feeling-spark{width:58px}.feeling-cloud{width:76px}.feeling-sprout{width:65px}}
@media(max-width:600px){.feeling-spark{width:51px;left:6%}.feeling-cloud{width:67px;top:-11%}.feeling-sprout{width:57px;right:5%}}

/* Review 45: meaningful plush separators in a shallower ribbon. */
.identity-item .ribbon-plush{display:block;flex:none;width:48px;height:48px;background:url('assets/plush-motifs.png') left center/300% 100% no-repeat;writing-mode:horizontal-tb}
.identity-item .ribbon-plush-cloud{background-position:center}
.identity-item .ribbon-plush-sprout{background-position:right center}
@media(max-width:1199px){.identity-rail{height:76px}.identity-item{min-height:74px;padding:12px 24px;gap:18px}.identity-item span{font-size:17px}}
@media(min-width:1200px){.identity-item{padding:22px 8px;gap:22px}.identity-item .ribbon-plush{width:48px;height:48px}}
@media(max-width:600px){.identity-rail{height:66px}.identity-item{min-height:64px;padding:10px 20px;gap:14px}.identity-item .ribbon-plush{width:42px;height:42px}.identity-item span{font-size:15px}}

/* Pricing: shared tax label and device scope */
.service-tax-note{margin:0;padding:14px var(--grid-gutter,40px);font-size:14px;line-height:1.7;color:#51594f;border-bottom:1px solid var(--line,#c4c9c0);text-align:right}
.service-device-note{font-size:.88em;white-space:nowrap}
@media(max-width:600px){.service-tax-note{padding:12px 20px;text-align:left}}
