:root{--paper:#F7F2E7;--forest:#233326;--sage:#DDE2CC;--muted:#586151;--serif:'Cormorant Garamond',serif;--sans:'Manrope',sans-serif;--gutter:clamp(24px,6.67vw,112px);--header-height:135px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;background:var(--paper);color:var(--forest);font:400 20px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible,section:focus-visible{outline:2px solid var(--forest);outline-offset:7px}
img{display:block;max-width:100%;object-fit:cover}figure{margin:0}svg{display:block}
p{font-size:20px;line-height:1.7;margin:0 0 1.5em}strong{font-weight:700}
h1,h2{font-family:var(--serif);font-weight:400;font-style:normal;line-height:1.02;letter-spacing:-.035em;margin:0;--indent:.68em;font-size:clamp(48px,5.1vw,76px)}
.display-line{display:block;width:max-content;white-space:nowrap}
.display-line+ .display-line{margin-left:var(--indent)}
.skip{position:absolute;left:16px;top:8px;z-index:20;padding:10px 18px;background:var(--forest);color:var(--paper);transform:translateY(-160%)}.skip:focus{transform:none}
.header{min-height:135px;display:flex;align-items:center;justify-content:center;padding:22px var(--gutter);background:var(--sage)}
.brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}.brand-logo{display:block;width:358.8px;height:55.2px;overflow:visible}
.hero{position:relative;isolation:isolate;min-height:max(952px,calc(100svh - var(--header-height) + 340px));padding:80px var(--gutter) 0}
.hero::before{content:"";position:absolute;inset:0 0 65px;background:var(--sage);border-radius:0 0 43% 12% / 0 0 12% 7%;z-index:-1}
.hero h1{font-size:clamp(78px,8.1vw,118px);line-height:.94;position:relative;z-index:2;max-width:680px;--indent:.68em}
.hero-copy{position:relative;z-index:2;max-width:345px;margin-top:38px}.hero-copy .lead{margin-bottom:22px}
.contact-link{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--forest);color:var(--paper);padding:18px 29px;min-height:68px;border:1px solid var(--forest);border-radius:28px 22px 24px 30px / 30px 24px 28px 26px;font-size:18px;line-height:1.35;white-space:nowrap;margin:14px auto 45px;transition:background 420ms var(--ease),color 420ms var(--ease),border-radius 550ms var(--ease),transform 350ms var(--ease)}
.contact-link svg{width:32px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.3;transition:transform 550ms var(--ease)}
.contact-link:hover{background:#3c503a;border-radius:24px 30px 28px 22px / 26px 28px 24px 30px}.contact-link:hover svg,.contact-link:focus-visible svg{transform:translateX(6px)}.contact-link:active{transform:scale(.985)}
.hero-copy .contact-link{margin:8px 0 0;padding:18px 25px;gap:20px}
.hero-image{position:absolute;right:0;top:247px;width:61%;z-index:1}
.hero-image>img{width:100%;height:555px;object-position:50% 50%;}.hero-image{overflow:hidden;border-radius:45% 0 0 11% / 38% 0 0 20%}
.flow-line{position:absolute;fill:none;stroke:var(--muted);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.flow-line path{vector-effect:non-scaling-stroke}
.hero-flow{left:14%;top:max(650px,calc(100svh - var(--header-height) + 24px));width:245px;height:350px;z-index:0}
.introduction{position:relative;padding:55px var(--gutter) 145px}.introduction p{font-family:var(--serif);font-size:clamp(36px,4.2vw,62px);font-weight:400;line-height:1.15;letter-spacing:-.025em;max-width:980px;margin:0;text-wrap:pretty}
.vision{position:relative;display:grid;grid-template-columns:44% 1fr;gap:12%;padding:0 var(--gutter) 180px 0;align-items:start}
.vision-image{width:100%;margin-top:35px}.vision-image>img{width:100%;height:760px;object-position:72% 50%;}.vision-image{overflow:hidden;border-radius:0 49% 41% 0 / 0 34% 29% 0}
.vision-portrait{position:absolute;z-index:2;left:calc(44% - 230px);top:105px;width:280px;height:320px;overflow:hidden;border-radius:45% 42% 16% 62% / 38% 47% 18% 58%;background:var(--sage)}
.vision-portrait img{position:absolute;max-width:none;width:241%;height:auto;left:-85%;top:-5%}
.vision-copy{padding-top:95px;max-width:520px;min-width:0}.vision-copy h2{margin-bottom:40px}
.everyday{margin-top:0;max-width:480px}.everyday p:last-child{margin-bottom:0}
.vision-flow{right:11%;bottom:-12px;width:310px;height:220px}
.home{padding-top:45px}.home-heading{margin:0 11% 50px 22%;display:flex;align-items:end;gap:8%}
.home-heading h2{flex:0 0 53%;font-size:clamp(52px,6vw,88px)}.home-heading p{max-width:360px;margin-bottom:7px}
.home-composition{position:relative;min-height:800px}.home-wide{position:relative;width:78%;margin-left:22%}
.home-wide>img:first-child{width:100%;height:610px;object-position:50% 50%}.home-wide{overflow:hidden;border-radius:27% 0 0 33% / 34% 0 0 45%}
.home-wide .photo-stamp{position:absolute;width:85px;height:108px;right:50px;bottom:35px;object-fit:contain}
.home-overlap{position:absolute;left:5%;top:360px;width:31%;z-index:2}.home-overlap img{width:100%;height:365px;object-position:60% 50%}.home-overlap{overflow:hidden;border-radius:47% 48% 44% 8% / 41% 38% 39% 8%}
.home-flow{right:calc(15% + 150px);top:635px;width:43%;height:270px}
.guidance{position:relative;padding:150px 0 40px}.guidance h2{position:relative;z-index:2;font-size:clamp(58px,7vw,100px);margin:0 52% 45px var(--gutter)}
.guidance-layout{display:grid;grid-template-columns:minmax(0,1fr) 45vw;column-gap:7vw;padding-left:var(--gutter);align-items:start}
.guidance-media{grid-column:2;grid-row:1;position:relative;min-width:0;min-height:max(720px,calc(455px + 25.3125vw))}.guidance-moodboard{width:88%;height:650px;margin-left:auto;overflow:hidden;border-radius:27% 0 0 33% / 34% 0 0 45%}
.guidance-moodboard img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.guidance-house{position:absolute;z-index:2;top:455px;left:0;width:75%;height:auto;aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:47% 48% 44% 8% / 41% 38% 39% 8%}.guidance-house img{width:100%;height:100%;object-fit:cover;object-position:center}
.guidance-copy{grid-column:1;grid-row:1;min-width:0;max-width:680px}.guidance-copy>.large-copy{margin:0 0 28px}.guidance-details{margin:0;padding-inline-start:1.2em;list-style-position:outside}.guidance-details li{padding-left:.15em}.guidance-details li+li{margin-top:.65em}
.guidance-flow{position:relative;left:200px;right:auto;top:60px;bottom:auto;width:200px;height:190px;margin:22px 0 0 calc(-1 * var(--gutter))}
.about{position:relative;display:grid;grid-template-columns:44% 1fr;gap:10%;padding:40px var(--gutter) 210px 0;align-items:center}
.portrait img{width:100%;height:780px;object-position:50% 45%;}.portrait{overflow:hidden;border-radius:0 42% 12% 0 / 0 27% 10% 0}
.about-copy{min-width:0;max-width:520px}.paper-stamp{width:60px;height:76px;object-fit:contain;margin-bottom:35px}.about h2{font-size:clamp(45px,4.5vw,67px);margin-bottom:35px}
.signature{width:153.6px;height:auto;object-fit:contain;object-position:left;margin:34px 0 0}
.contact{position:relative;isolation:isolate;overflow:hidden;padding:110px var(--gutter) 0;text-align:center;background:var(--sage);border-radius:46% 44% 0 0 / 8% 10% 0 0}
.contact-flow{right:12%;bottom:-55px;width:300px;height:245px;z-index:2}
.contact h2{font-size:clamp(62px,7vw,104px);width:max-content;max-width:100%;margin:auto;text-align:left}
.contact-intro{max-width:565px;margin:36px auto 15px}.contact>.contact-link{margin-bottom:10px}.contact-details{max-width:565px;margin:auto;text-align:center}.contact-details p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.footer{padding:120px 0 64px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:64px;text-align:left;position:relative;z-index:1}
.footer-logo-link{display:flex;align-items:center;justify-self:center;max-width:100%;min-height:44px}.footer-logo{display:block;width:375px;max-width:100%;height:auto;overflow:visible}.footer-logo img{width:100%;height:auto}.footer-contact{font-style:normal;font-size:20px;line-height:1.7}.footer-contact-direct{text-align:left}.footer-contact-address{text-align:right}.footer-contact a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.footer-contact a:hover{text-decoration-thickness:2px}
@media(min-width:1600px){.hero{min-height:max(1062px,calc(100svh - var(--header-height) + 340px))}.hero::before{bottom:90px}.hero-image>img{height:650px}}
@media(max-width:1100px){
.hero h1{font-size:90px}.hero-copy{max-width:300px}.hero-image{width:56%;top:257px}.hero-image>img{height:490px}.hero-copy .contact-link{padding:18px 20px;gap:12px}
.vision{gap:9%}.vision-copy{padding-top:55px}.vision-copy h2{font-size:clamp(42px,5.4vw,59px)}.vision-image>img{height:740px}.vision-portrait{left:calc(44% - 230px);top:85px;width:240px;height:280px}.vision-flow{right:8%;width:260px}
.home-heading{margin-left:12%;margin-right:var(--gutter);gap:5%}.home-heading h2{flex-basis:60%;font-size:clamp(52px,6vw,70px)}.home-overlap{width:34%}.home-flow{right:calc(15% + clamp(60px,10vw,110px))}
.guidance-moodboard{height:610px}.guidance-flow{width:190px;height:185px}.about{gap:8%}.portrait img{height:830px}.about h2{font-size:clamp(39px,4.5vw,50px)}.footer{gap:35px}.footer-logo{width:350px}
}
@media(max-width:900px){
.guidance{padding:100px var(--gutter) 145px}.guidance h2{margin:0 0 38px}.guidance-layout{display:flex;flex-direction:column;padding:0}.guidance-copy{order:1;max-width:680px}.guidance-media{order:2;width:calc(100% + var(--gutter));min-height:0;margin:42px 0 0}.guidance-moodboard{width:82%;height:auto;margin-left:auto;border-radius:27% 0 0 33% / 34% 0 0 45%}.guidance-moodboard img{height:auto;aspect-ratio:4/3}.guidance-house{position:relative;top:auto;left:0;width:75%;margin:calc(-16% + 24px) 0 0}.guidance-house{border-radius:0 47% 45% 0 / 0 32% 39% 0}.guidance-flow{left:clamp(40px,15vw,110px);top:0;width:180px;height:180px;margin-top:64px}
}
@media(max-width:1000px){.footer{display:flex;flex-direction:column;align-items:center;gap:36px}.footer-contact{text-align:center;overflow-wrap:anywhere}.footer-logo{width:350px}}
@media(max-width:820px){
.hero{min-height:max(912px,calc(100svh - var(--header-height) + 280px))}.hero h1{font-size:84px}.hero-image{top:250px;width:55%}.hero-image>img{height:410px}.hero-flow{width:180px;height:260px}.hero-copy{max-width:275px}
.vision{grid-template-columns:40% 1fr;gap:8%}.vision-copy h2{font-size:42px}.vision-image>img{height:800px}.vision-portrait{left:calc(40% - 200px);top:85px;width:215px;height:250px}.home-heading{display:block}.home-heading p{margin:24px 0 0 30%;max-width:380px}
.about{grid-template-columns:40% 1fr;gap:8%}.about h2{font-size:39px}.portrait img{height:850px}
}
@media(min-width:601px) and (max-width:820px){.header{padding:18px 24px}.brand-logo{width:328.9px;height:50.6px}}
@media(max-width:600px){
:root{--header-height:89px}.header{min-height:89px;padding:16px var(--gutter)}.brand-logo{width:299px;height:46px;max-width:100%}
.hero{padding-top:28px;min-height:calc(100svh - var(--header-height) + 140px);padding-bottom:50px}.hero::before{inset:0 0 20px;border-radius:0 0 35% 9% / 0 0 5% 3%}.hero h1{font-size:clamp(53px,15.4vw,86px);line-height:.95;--indent:.5em}.hero-copy{margin-top:26px;max-width:390px}.hero-copy .lead{max-width:345px}.hero-copy .contact-link{padding:18px 22px;gap:18px;font-size:18px}
.hero-image{position:relative;top:auto;right:auto;width:calc(100% + var(--gutter));margin:28px calc(-1 * var(--gutter)) 0 0}.hero-image>img{height:330px;object-position:50% 50%;}.hero-image{overflow:hidden;border-radius:45% 0 0 14% / 31% 0 0 22%}.hero-flow{left:var(--gutter);top:max(650px,calc(100svh - var(--header-height) + 24px));bottom:auto;width:130px;height:175px}
.introduction{padding:80px var(--gutter) 100px}.introduction p{font-size:clamp(34px,8.8vw,48px);line-height:1.15;max-width:600px}
h1,h2{--indent:.52em}.vision{display:flex;flex-direction:column-reverse;gap:40px;padding:0 0 130px}.vision-copy{padding:0 var(--gutter);max-width:600px}.vision-copy h2{margin-bottom:30px;font-size:clamp(43px,12.3vw,64px)}.everyday{margin-top:0}.vision-image{width:78%;margin-top:4px}.vision-image>img{height:410px;object-position:72% 50%}.vision-image{overflow:hidden;border-radius:0 47% 38% 0 / 0 29% 32% 0}.vision-portrait{left:auto;right:20px;top:auto;bottom:320px;width:56vw;max-width:230px;height:auto;aspect-ratio:7/8}.vision-flow{width:170px;height:130px;bottom:0;right:5%}
.home{padding-top:20px}.home-heading{margin:0 var(--gutter) 35px}.home-heading h2{font-size:clamp(43px,12.3vw,64px)}.home-heading p{margin:24px 0 0;max-width:340px}.home-composition{min-height:535px}.home-wide{width:90%;margin-left:10%}.home-wide>img:first-child{height:325px;object-position:62% 50%;}.home-wide{overflow:hidden;border-radius:36% 0 0 26% / 30% 0 0 30%}.home-wide .photo-stamp{width:54px;height:69px;right:17px;bottom:19px}.home-overlap{left:0;top:235px;width:55%}.home-overlap img{height:225px;}.home-overlap{overflow:hidden;border-radius:0 47% 45% 0 / 0 32% 39% 0}.home-flow{top:465px;right:calc(12% + 24px);width:53%;height:110px}
.guidance{padding:60px var(--gutter) 135px}.guidance h2{font-size:clamp(43px,12.3vw,64px)}.guidance-copy>.large-copy{margin-bottom:22px}.guidance-details{padding-top:4px}.guidance-media{margin-top:38px}
.about{display:flex;flex-direction:column;padding:10px 0 170px;gap:45px;align-items:flex-start}.portrait{width:85%}.portrait img{height:475px;object-position:50% 42%}.portrait{overflow:hidden;border-radius:0 40% 12% 0 / 0 25% 10% 0}.about-copy{padding:0 var(--gutter);max-width:600px}.paper-stamp{width:48px;height:61px;margin-bottom:24px}.about h2{font-size:clamp(43px,12.3vw,64px);margin-bottom:30px}.signature{width:147.2px;height:auto}
.contact{padding:86px var(--gutter) 0;border-radius:45% 45% 0 0 / 4% 5% 0 0}.contact h2{font-size:clamp(43px,12.3vw,64px)}.contact-flow{width:180px;right:6%;bottom:-30px;height:180px}.contact-intro{margin-top:30px}.contact-link{gap:18px;padding:18px 22px}.contact-details{text-align:center}.footer{padding:72px 0 42px}.footer-logo{width:350px;max-width:100%}
}
@media(max-width:370px){.header{padding-left:18px;padding-right:18px}.brand-logo{width:284.1px;height:43.7px}.hero h1{font-size:53px}.hero-image>img{height:300px}.hero-copy .contact-link,.contact-link{font-size:18px;gap:12px;padding:18px 17px}.contact-link svg{width:26px}.vision-copy h2,.home-heading h2,.guidance h2,.about h2,.contact h2{font-size:42px}.portrait img{height:410px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
