:root{--paper:#F7F2E7;--forest:#233326;--sage:#DDE2CC;--muted:#586151;--serif:'Cormorant Garamond',serif;--sans:'Manrope',sans-serif;--gutter:clamp(24px,6.67vw,112px);--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}
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:space-between;padding:22px var(--gutter);gap:30px;background:var(--sage)}
.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark{width:48px;height:58px;object-fit:contain}
.brand span{font-family:var(--serif);font-size:34px;line-height:1;letter-spacing:.035em;white-space:nowrap}
.header nav{display:flex;align-items:center}.header nav .contact-link{margin:0}
.hero{position:relative;isolation:isolate;min-height:952px;padding:120px 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}
.contact-link-paper{background:transparent;color:var(--forest);border-color:#7B866F;margin:8px 0 0}.contact-link-paper:hover{background:var(--sage)}
.hero-image{position:absolute;right:0;top:287px;width:61%;z-index:1}
.hero-image>img{width:100%;height:555px;object-position:49% 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%;bottom:-8px;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:40% 50%;}.vision-image{overflow:hidden;border-radius:0 49% 41% 0 / 0 34% 29% 0}
.vision-copy{padding-top:95px;max-width:520px;min-width:0}.vision-copy h2{margin-bottom:40px}
.everyday{margin-top:44px;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:9%}
.home-heading h2{flex:0 0 62%;font-size:clamp(52px,6vw,88px)}.home-heading p{max-width:255px;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:15%;top:635px;width:43%;height:270px}
.guidance{position:relative;padding:150px var(--gutter) 160px}.guidance h2{font-size:clamp(58px,7vw,100px);margin-left:13%;margin-bottom:65px}
.guidance-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;max-width:980px;margin-left:auto}.guidance-copy>.large-copy{margin:0}.guidance-copy>div{padding-top:70px}
.guidance-flow{left:0;bottom:0;width:200px;height:350px}
.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:240px;height:80px;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-details{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:830px;margin:auto;text-align:left}.contact-details p{margin:0}
.footer{padding:120px 0 64px;display:flex;justify-content:space-between;align-items:center;gap:64px;text-align:left;position:relative;z-index:1}
.footer-identity{display:flex;align-items:center;gap:30px}.footer-stamp{width:112px;height:143px;object-fit:contain;flex-shrink:0}
.footer-name{font-family:var(--serif);font-size:38px;display:block;margin-bottom:18px;line-height:1.2;letter-spacing:.025em}.footer p{margin:0}.footer-contact{text-align:right}.footer address{font-style:normal;font-size:20px;line-height:1.7}.footer address a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.footer address a:hover{text-decoration-thickness:2px}.footer-address{display:block;margin-top:20px}
.back-top{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:24px;font-size:18px;white-space:nowrap}.back-top svg{width:16px;stroke:currentColor;fill:none;stroke-width:1.2;transition:transform 240ms var(--ease)}.back-top:hover svg{transform:translateY(-4px)}
@media(min-width:1600px){.hero{min-height:1062px}.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:297px}.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-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%}
.guidance-copy{gap:55px}.guidance h2{margin-left:7%}.guidance-flow{width:130px;height:240px}.about{gap:8%}.portrait img{height:830px}.about h2{font-size:clamp(39px,4.5vw,50px)}.footer{gap:35px}.footer-identity{gap:22px}.footer-stamp{width:90px;height:115px}.footer-name{font-size:32px}
}
@media(max-width:820px){
.hero{min-height:912px}.hero h1{font-size:84px}.hero-image{top:382px;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}.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}.guidance-copy{gap:40px}.guidance-flow{width:100px}.footer{gap:24px;align-items:flex-start}.footer-identity{flex-direction:column;align-items:flex-start;gap:24px}
}
@media(min-width:601px) and (max-width:820px){.header{padding:22px 24px;gap:16px}.header .brand{gap:10px}.header .brand-mark{width:36px;height:46px}.header .brand span{font-size:28px}.header nav .contact-link{padding:18px 20px;gap:16px}.header nav .contact-link svg{width:26px}}
@media(max-width:600px){
.header{min-height:89px;padding:22px var(--gutter);gap:8px}.brand{gap:12px}.brand-mark{width:35px;height:45px}.brand span{font-size:29px}.header nav{display:none}
.hero{padding-top:68px;min-height:0;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:32px;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:38px calc(-1 * var(--gutter)) 0 0}.hero-image>img{height:350px;object-position:51% 50%;}.hero-image{overflow:hidden;border-radius:45% 0 0 14% / 31% 0 0 22%}.hero-flow{left:var(--gutter);top:auto;bottom:-16px;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:35px}.vision-image{width:78%;margin-top:4px}.vision-image>img{height:410px;object-position:44% 50%}.vision-image{overflow:hidden;border-radius:0 47% 38% 0 / 0 29% 32% 0}.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:12%;width:53%;height:110px}
.guidance{padding:60px var(--gutter) 135px}.guidance h2{margin:0 0 38px;font-size:clamp(43px,12.3vw,64px)}.guidance-copy{display:block;margin:0}.guidance-copy>div{padding:28px 0 0}.guidance-flow{left:auto;right:0;bottom:-10px;width:100px;height:140px}.contact-link-paper{gap:18px;padding:18px 22px}
.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:230px;height:76px}
.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;margin-bottom:32px}.contact-details{display:block;text-align:left}.contact-details p+p{margin-top:24px}.footer{display:flex;flex-direction:column;gap:48px;padding:72px 0 42px}.footer-identity{flex-direction:row;align-items:center;gap:20px}.footer-stamp{width:72px;height:92px}.footer-name{font-size:29px;margin-bottom:12px}.footer-contact{text-align:left}.footer address{overflow-wrap:anywhere}.footer .back-top{margin-top:24px;width:max-content}
}
@media(max-width:370px){.footer-identity{gap:16px}.footer-stamp{width:56px;height:72px}.footer-name{font-size:25px}.brand span{font-size:27px}.brand-mark{width:32px;height:41px}.hero h1{font-size:53px}.hero-image>img{height:310px}.hero-copy .contact-link,.contact-link,.contact-link-paper{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}}
