/* I DO — a softer editorial layer, preserving the original brand palette. */
:root{--serif:FrankRuhl,Georgia,serif;--ease:cubic-bezier(.22,1,.36,1);--paper:#f7f6f2;--green:#ebeee6;--rose:#eddfda;--line:#dddcd0;--text:#5c5e51}
body{font-weight:400;line-height:1.8}::selection{background:#e4ccc5;color:#59262e}h1,h2{font-family:var(--serif);font-weight:300;letter-spacing:-.045em;line-height:1.13}h3{font-weight:400}p{font-weight:400}.eyebrow{font-weight:400;letter-spacing:.09em;color:#765650;font-size:0.875rem}.eyebrow:before{width:36px;background:#a89585}.section{padding-block:125px}.section-heading{margin-bottom:65px}.section-heading p{font-size:1.1875rem}.text-link{border-color:#cbb8af;font-weight:400;transition:color .3s,border-color .3s}.text-link span{transition:transform .5s var(--ease)}.text-link:hover span{transform:translateX(-6px)}
.site-header{top:17px;border:1px solid #e0dfd380;border-radius:70px;margin:17px auto 0;width:min(1320px,calc(100% - 64px));background:#fffefaa8;backdrop-filter:blur(20px);box-shadow:0 4px 25px #66564104;transition:box-shadow .5s,background .5s}.site-header.scrolled{background:#fffefaf0;box-shadow:0 8px 32px #6656410c}.header-inner{width:calc(100% - 52px);height:78px;gap:48px}.brand,.brand img{width:72px}.brand img{height:46px}.nav{gap:29px}.nav a{font-size:1rem;font-weight:400}.header-cta{background:transparent;color:var(--ink);border-color:#c9ada7;font-weight:500;min-height:43px}.header-cta:hover{background:var(--ink);color:var(--paper)}.scroll-progress{position:fixed;top:0;right:0;width:100%;height:2px;z-index:50;background:#8c615d;transform:scaleX(0);transform-origin:right;pointer-events:none}
.hero{padding-block:48px 35px}.hero:before{opacity:.075;background-position:center 30%}.hero-grid{min-height:640px;grid-template-columns:1fr 1.07fr;gap:35px}.hero h1{font-size:clamp(4.4rem,6.6vw,6.3rem);line-height:1.09;font-weight:300}.hero h1 em{font-style:normal;color:#9c736b}.hero .eyebrow{margin-bottom:32px}.hero-copy{padding-block:38px}.hero .lead{font-size:1.375rem;font-weight:300;line-height:1.85;margin-block:25px 33px}.hero-art{isolation:isolate;min-height:560px;perspective:1200px}.hero-art:before{content:'';position:absolute;width:88%;height:94%;border:1px solid #c9b8a72e;border-radius:49% 49% 45% 45%;transform:rotate(-7deg);z-index:-1;background:radial-gradient(ellipse,#ecddd845 0%,#eef0e500 67%)}.hero-art:after{content:'';position:absolute;width:91%;height:90%;border:1px solid #bfbaa723;border-radius:50%;transform:rotate(9deg);z-index:-1}.hero-art .art{width:112%;max-width:112%;max-height:620px;transition:opacity .55s var(--ease),filter .6s var(--ease);filter:saturate(.85);object-fit:contain;will-change:transform}.hero-art .art.is-changing{opacity:0;filter:blur(5px)}.art-caption{font-family:Assistant,sans-serif;font-size:0.875rem;letter-spacing:.15em;font-style:normal;left:30px;bottom:20px;color:#8a8471}.art-selector{position:absolute;bottom:-12px;right:25px;display:flex;gap:7px;z-index:2}.art-selector button{font:0.875rem Assistant,sans-serif;color:#7c7667;background:#f7f6f2c9;border:1px solid transparent;border-radius:50px;padding:6px 13px;min-height:36px;transition:border .3s,color .3s,background .3s}.art-selector button[aria-pressed=true]{border-color:#c7b1a6;color:var(--ink);background:#fffdf9c9}.art-selector button:hover{border-color:#cab7ad}.hero-rotation{margin-top:30px;gap:16px;min-height:48px;color:#7d806f}.rotation-controls{gap:0}.hero-bottom{padding-top:25px;margin-top:42px;border-color:#dddbce80;font-size:0.875rem;color:#707565}.hero-points{gap:32px}.hero-points span+span{border-color:#dad7c8}
.button{position:relative;overflow:hidden;font-weight:500;font-size:1rem;padding:14px 30px;min-height:53px;border-width:1px;transition:background .5s,color .5s,border-color .5s,box-shadow .5s,transform .6s var(--ease);transform:translate(var(--mx,0px),var(--my,0px))}.button:hover{transform:translate(var(--mx,0px),calc(var(--my,0px) - 2px));box-shadow:0 6px 20px #59262e15}.button>span{transition:transform .5s var(--ease)}.button:hover>span{transform:translateX(-4px)}.button.light{border-color:#cfb7ae}.button.light:hover{background:#f0e3dc}
.intro{grid-template-columns:1fr 1.1fr;gap:95px;align-items:center}.intro h2{font-size:clamp(3.4rem,5vw,5rem);line-height:1.1}.intro-copy{font-size:1.25rem;line-height:1.95}.intro-copy p:first-child{color:#55594c}.intro .small-art{display:block;height:260px;width:260px;margin:20px 20px -15px 0;object-fit:contain;opacity:.85}.principles{background:linear-gradient(140deg,#eef0e9,#e8ece2)}.steps{gap:25px}.step{padding:29px 20px 28px;border-color:#aeb99f66;transition:background .7s,transform .7s var(--ease);border-radius:0 0 18px 18px}.step:hover{background:#fffefa80;transform:translateY(-6px)}.step .number{font-family:Cormorant,Georgia,serif;font-size:3rem;font-weight:300;font-style:italic;color:#96a08a;margin-bottom:28px}.step h3{font-family:var(--serif);font-size:1.75rem;margin-bottom:15px;font-weight:400}.step p{font-size:1.125rem;line-height:1.8}.values{border-color:#c8cdbb;margin-top:35px;padding-top:45px}.values h3{font-family:var(--serif);font-size:1.5625rem}.values p{color:#646a58;line-height:1.8}.stats{padding-block:55px}.stat strong{font-family:Cormorant,Georgia,serif;font-weight:300;font-size:3.75rem;line-height:1.1}.stat span{font-weight:300}.stat{border-color:#dfdbcf}
.portrait{border-radius:48% 48% 3px 3px;aspect-ratio:1.02;background:#e9e9df;box-shadow:0 12px 35px #61584007}.portrait img{transition:transform 1.2s var(--ease),filter 1.2s var(--ease);filter:saturate(.64)}.person:hover .portrait img{transform:scale(1.035);filter:saturate(.92)}.person:nth-child(2) .portrait{border-radius:48% 48% 3px 3px}.person:nth-child(3) .portrait{border-radius:48% 48% 3px 3px;background:#efebe0}.person h3{font-family:var(--serif);font-size:2.125rem;font-weight:400}.person .role{font-weight:300}.person p{font-size:1.125rem;line-height:1.85}.person .text-link{margin-top:22px}.plans{background:linear-gradient(130deg,#f4eeea,#f0e7e1)}.plan{border-color:#dfd5ca;border-radius:140px 140px 12px 12px;padding:60px 35px 35px;box-shadow:0 9px 35px #65524604;transition:transform .65s var(--ease),box-shadow .65s var(--ease)}.plan:hover{transform:translateY(-7px);box-shadow:0 20px 40px #6552460d}.plan.featured{background:#683a40;border-color:#683a40}.plan-number{text-align:center;color:inherit}.plan .plan-title{font-family:Cormorant,Georgia,serif;font-size:2.5rem;letter-spacing:0;text-align:center;font-weight:300;line-height:1.1;margin:20px 0 27px}.plan .plan-subtitle{font-weight:400;font-size:1.375rem;line-height:1.5}.plan p{line-height:1.9}.plan ul{border-color:#d3c3b969}.plan.featured .button{background:#faf5ed;border-color:#faf5ed}.plan.featured .button:hover{background:#ead8cd}.faq-layout h2{font-size:clamp(3rem,4.5vw,4.5rem)}.faq-list summary{font-size:1.375rem;font-weight:400;padding:26px 0;transition:color .3s}.faq-list summary:after{color:#a28579;font-size:1.5rem;font-weight:300;min-width:22px;text-align:center}.faq-list summary:hover{color:#9a7165}.faq-list .answer{line-height:1.95;color:#646557}.faq-list details{border-color:#dedbce}.faq-layout .small-art{display:block;width:210px;height:240px;margin-top:35px;opacity:.85}
.closing{background:#edede3}.closing-inner{min-height:360px;padding-block:80px}.closing h2{font-size:clamp(2.8rem,4.2vw,4.5rem)}.closing-art{width:480px;height:280px;left:140px;opacity:.24;object-fit:contain}.footer{padding-top:70px}.footer-bottom{border-color:#dedbcd}.footer-links{font-weight:300}.footer-tag{font-weight:300;line-height:1.8}.access-toggle{background:#f7f6f2;color:var(--ink);border:1px solid #d8c7bb;box-shadow:0 4px 16px #59262e0a;opacity:.9}.back-top{position:fixed;bottom:22px;right:22px;z-index:19;height:43px;width:43px;border-radius:50%;border:1px solid #d8c7bb;background:#fffdf6eb;color:var(--ink);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .4s var(--ease)}.back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.page-intro{background:radial-gradient(ellipse at center,#efdfd738,transparent 68%);padding-block:90px 75px}.page-intro h1{font-family:var(--serif);font-size:clamp(3.6rem,5.5vw,5.5rem);font-weight:300}.page-intro p{font-weight:300;font-size:1.375rem;line-height:1.8}.bio h2{font-family:var(--serif);font-size:3.125rem;font-weight:300}.bio blockquote{font-family:var(--serif);font-size:1.875rem;font-weight:300;color:#8b625a;line-height:1.5}.contact-grid h2,.contact-form h2{font-family:var(--serif);font-size:2.5rem;font-weight:300}.contact-form{border-radius:32px;border-color:#ded8cb;background:#fffefa8c;padding:45px;box-shadow:0 12px 40px #76644d05}.contact-form input,.contact-form textarea{background:#f7f6f2;border-color:#ded8cb;border-radius:8px;transition:background .3s,border-color .3s,box-shadow .3s}.contact-form input:focus,.contact-form textarea:focus{background:#fffdf8;border-color:#b79386;box-shadow:0 0 0 4px #ead9d54d}.form-note{background:#edf0e5;border-radius:10px}.check-item{transition:background .4s,border-color .4s;padding:15px 12px;border-radius:8px}.check-item:has(input:checked){background:#edf0e5;border-color:#acb89c}.important{border-radius:20px;background:#ecefe5}.important h2{font-family:var(--serif);font-size:2.375rem;font-weight:300}
.reveal-ready .reveal-target{transition:opacity 1s var(--ease),translate 1.2s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal-ready .reveal-target:not(.is-visible){opacity:0;translate:0 26px}.reveal-ready .reveal-target.is-visible{opacity:1;translate:0 0}.high-contrast{--text:#24291f;--ink:#310914}.high-contrast .hero:before{opacity:0}.high-contrast .eyebrow,.high-contrast .subtle,.high-contrast .role,.high-contrast .stat span{color:#34372f}.reduce-motion .reveal-target{opacity:1!important;translate:none!important}.reduce-motion .hero-art .art{transform:none!important;will-change:auto}.reduce-motion *{scroll-behavior:auto!important}
@media(min-width:1500px){.hero-grid{min-height:690px}.hero-art .art{max-height:680px}}
@media(max-width:1100px){.header-inner{gap:30px}.nav{gap:20px}.hero h1{font-size:4.625rem}.hero-grid{min-height:600px;gap:15px}.hero-art{min-height:490px}.hero .lead{font-size:1.3125rem}.plan{padding:50px 27px 30px}.plan .plan-title{font-size:2.125rem}.intro{gap:55px}}
@media(max-width:900px) and (min-width:761px){.header-inner{gap:20px;width:calc(100% - 34px)}.nav{gap:15px}.nav a{font-size:0.9375rem}.header-cta{display:none}.hero h1{font-size:3.875rem}.hero-art{min-height:460px}.plan{padding:43px 22px 25px}.plan .plan-title{font-size:1.8125rem}.plan .plan-subtitle{font-size:1.25rem}}
@media(max-width:760px){.site-header{width:calc(100% - 28px);top:10px;margin-top:10px;border-radius:40px}.header-inner{height:67px;width:calc(100% - 36px)}.brand,.brand img{width:62px}.brand img{height:40px}.nav{top:76px;right:0;left:0;border:1px solid #e0dbce;border-radius:24px;padding:24px;background:#fbfaf6;box-shadow:0 15px 40px #59262e0d}.menu-toggle{border-color:#ded8cb;background:transparent;font-size:1.1875rem;font-weight:300}.hero{padding-block:35px 22px}.hero-grid{grid-template-columns:1fr;min-height:0;gap:3px}.hero-copy{padding-block:14px 5px}.hero .eyebrow{font-size:0.75rem;margin-bottom:25px}.hero h1{font-size:clamp(3.5rem,14vw,4.8rem);line-height:1.05;letter-spacing:-.045em}.hero .lead{font-size:1.3125rem;margin-block:25px 27px;line-height:1.75}.hero .actions{gap:12px;align-items:center}.hero .actions .button{padding:12px 23px;min-height:48px}.hero .actions .text-link{font-size:0.9375rem;gap:12px}.hero-rotation{margin-top:23px;gap:0;display:flex;justify-content:space-between;font-size:0.8125rem;min-height:34px}.hero-rotation #hero-phrase{max-width:65%}.rotation-controls button{width:21px}.hero-art{min-height:0;height:370px;max-width:370px;margin-top:15px}.hero-art .art{height:380px;max-height:380px;width:110%;max-width:110%}.hero-art:before{width:85%;height:85%;top:10px}.hero-art:after{width:89%;height:89%;top:3px}.art-caption{font-size:0.75rem;bottom:5px;left:10px;letter-spacing:.08em}.art-selector{bottom:-18px;right:5px;gap:3px}.art-selector button{font-size:0.8125rem;padding:5px 9px}.hero-bottom{margin-top:36px;padding-top:22px;font-size:0.8125rem}.hero-points{gap:14px}.hero-points span+span{padding-right:14px}.section{padding-block:78px}.intro{grid-template-columns:1fr;gap:35px}.intro h2{font-size:3.375rem}.intro .small-art{display:none}.intro-copy{font-size:1.1875rem;line-height:1.9}.section-heading{margin-bottom:40px}.section-heading h2{font-size:2.875rem}.section-heading p{font-size:1.125rem}.steps{gap:20px 17px}.step{padding:22px 7px}.step .number{font-size:2.4375rem;margin-bottom:21px}.step h3{font-size:1.5625rem}.step p{font-size:1.0625rem}.values{margin-top:25px;padding-top:30px}.stats{padding-block:42px;gap:30px 0}.stat strong{font-size:3.375rem}.person h3{font-size:2.125rem}.team-grid{gap:50px}.portrait{max-height:390px;aspect-ratio:1.1}.plan{border-radius:130px 130px 15px 15px;padding:50px 30px 30px}.plan .plan-title{font-size:2.6875rem}.plans-grid{gap:27px}.faq-layout h2{font-size:3rem}.faq-layout .small-art{display:none}.faq-list summary{font-size:1.25rem;line-height:1.6;padding:23px 0}.closing-inner{min-height:0;padding-block:70px}.closing h2{font-size:2.8125rem;max-width:290px}.closing-art{display:block;left:-110px;bottom:-45px;opacity:.13;width:330px;max-width:none;height:250px}.closing p{font-size:1.1875rem;position:relative;z-index:1}.closing .button{position:relative}.footer{padding-top:50px}.footer-links{gap:20px}.page-intro{padding-block:65px 45px}.page-intro h1{font-size:3.1875rem}.page-intro p{font-size:1.25rem}.bio{gap:35px}.bio h2{font-size:2.6875rem}.bio blockquote{font-size:1.8125rem}.bio .portrait{height:390px}.contact-form{padding:30px 24px;border-radius:22px}.contact-grid h2{font-size:2.3125rem}.back-top{right:13px;bottom:13px}.art-selector,.art-caption{z-index:1}}
@media(prefers-reduced-motion:reduce){.reveal-ready .reveal-target{opacity:1!important;translate:none!important}.hero-art .art{transform:none!important;will-change:auto}html{scroll-behavior:auto}}
