@import url('assets/fonts.css');
:root{--paper:#f3f0e8;--ink:#20201e;--red:#a62c2b;--line:#cecac1;--body:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:5px}::selection{background:var(--red);color:var(--paper)}.skip{position:fixed;top:-80px;left:10px;padding:15px;background:var(--ink);color:white;z-index:10}.skip:focus{top:10px}.header{height:112px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:62px;height:62px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font-weight:700;font-size:15px;letter-spacing:.05em}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.12em;margin-top:5px}nav{display:flex;gap:31px;font-size:12px}nav a{border-bottom:1px solid transparent;padding:8px 0}nav a:hover{border-color:var(--ink)}.nav-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:9px 0}.nav-cta span{margin-left:27px;font-size:19px}.hero{padding:45px 5% 46px;display:grid;grid-template-columns:1.05fr 1fr;gap:4%;max-width:1700px;margin:auto}.hero-copy{padding:18px 0 8px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;margin:0 0 29px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}.hero h1{font-family:var(--display);font-size:clamp(70px,8.3vw,145px);font-weight:800;letter-spacing:-.025em;line-height:.89;color:var(--red);margin:0 0 40px}.outlined{color:transparent;-webkit-text-stroke:1.4px var(--red)}.period{color:var(--ink)}.hero-bottom{display:flex;gap:24px;margin-top:auto;align-items:flex-start}.asterisk{font-size:65px;line-height:1;color:var(--red);transform:rotate(12deg)}.hero-bottom p{font-size:13px;line-height:1.8;margin:0 0 25px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;font-size:12px;font-weight:500;padding:17px 23px;border:1px solid var(--ink);transition:background .2s,color .2s}.button span{font-size:20px;line-height:1}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:var(--red);border-color:var(--red)}.hero-visual{position:relative;margin:0;min-height:550px;overflow:hidden;background:#d3d0c9}.hero-visual>img{display:block;width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 41%}.photo-index{position:absolute;left:22px;top:23px;font-size:9px;letter-spacing:.13em;writing-mode:vertical-rl}.photo-stamp{position:absolute;right:20px;top:20px;font:800 36px/.85 var(--display);color:var(--red);transform:rotate(7deg)}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:var(--red);color:var(--paper);font-size:11px;letter-spacing:.03em}.ribbon{background:var(--red);color:var(--paper);display:flex;align-items:center;justify-content:space-around;gap:24px;padding:17px 3%;font:600 20px/1 var(--display);letter-spacing:.025em;overflow:hidden;white-space:nowrap}.ribbon span:nth-child(even){font-size:25px}.section{padding:92px 7%;max-width:1700px;margin:auto}.approach{display:grid;grid-template-columns:28% 1fr;gap:6%;padding-top:98px;padding-bottom:98px}.section-label{font-size:10px;letter-spacing:.13em;display:flex;flex-direction:column;align-items:flex-start;gap:50px}.small-star{font-size:90px;line-height:1;color:var(--red)}h2{margin:0}.approach h2{font-weight:500;font-size:clamp(28px,3.3vw,50px);letter-spacing:-.045em;line-height:1.16}.approach h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.approach-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.approach-columns p{font-size:13px;line-height:1.85;margin:0;color:#53514c}.principles{margin-top:29px;display:flex;gap:22px;flex-wrap:wrap}.principles span{font-size:10px;letter-spacing:.03em;border-top:1px solid var(--line);padding-top:12px}.services{background:#e8e5dc}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:30px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2,.process h2{font-family:var(--display);font-weight:700;font-size:clamp(44px,5.5vw,78px);line-height:.97;letter-spacing:-.02em}.section-heading>p{font-size:13px;line-height:1.8;margin:0 0 3px}.section-heading small{display:block;font-size:10px;margin-top:12px;color:#605d56}.service{border-top:1px solid #bdb8ad}.service:last-child{border-bottom:1px solid #bdb8ad}.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr 35px;align-items:center;gap:12px;padding:26px 0}.service summary::-webkit-details-marker{display:none}.service-num{font-size:11px;color:var(--red);align-self:start;padding-top:4px}.service-title{font-size:25px;letter-spacing:-.025em;font-weight:500}.service-title small{display:block;font-size:8px;letter-spacing:.13em;font-weight:500;margin-top:10px}.toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid #aaa69d;border-radius:50%}.toggle:before{content:'+';font-size:20px;font-weight:400}.service[open] .toggle{background:var(--red);color:white;border-color:var(--red)}.service[open] .toggle:before{content:'−'}.service-body{padding:0 50px 29px 72px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.service-body>p{font-size:13px;line-height:1.8;margin:0;max-width:440px;color:#53514c}.service-meta{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.service-meta>span{font-size:11px}.service-meta>span:before{content:'—';margin-right:7px;color:var(--red)}.service-meta a{font-size:11px;border-bottom:1px solid var(--ink);padding:6px 0;margin-top:9px}.service-meta a span{margin-left:20px}.process{display:grid;grid-template-columns:1fr 1.15fr;gap:13%;background:var(--ink);color:var(--paper);padding-top:78px;padding-bottom:78px}.process .eyebrow{color:#c4bfb5}.process h2{color:var(--paper)}.process-mark{font-size:80px;color:#d56957;display:block;margin-top:28px;line-height:1}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:28px;padding:28px 0;border-top:1px solid #53514b}.steps li:first-child{padding-top:19px}.steps li>span{font-size:10px;color:#d56957;padding-top:6px}.steps h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin:0 0 12px}.steps p{font-size:12px;line-height:1.9;margin:0;color:#c4bfb5;max-width:350px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:100px;padding-bottom:100px}.booking h2{font:800 clamp(68px,7.8vw,115px)/.88 var(--display);letter-spacing:-.02em}.booking h2>span{color:var(--red)}.booking-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:315px;margin:27px 0}.booking-note{font-size:10px;color:#635f58}.booking-note .dot{width:5px;height:5px}.booking-panel{border:1px solid var(--line);padding:28px;background:#f8f6f0;align-self:center;box-shadow:9px 9px 0 #e4e0d7}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.panel-heading h3{font-size:20px;font-weight:500;letter-spacing:-.03em;margin:0}.panel-heading>span{font-size:27px;color:var(--red)}.booking label{display:block;font-size:11px;margin-bottom:10px}.booking select{width:100%;padding:13px 10px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-size:12px}.calendar-heading{display:flex;justify-content:space-between;gap:10px;margin:25px 0 15px;font-size:9px;letter-spacing:.04em}.calendar-heading span:last-child{font-weight:600}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}.calendar>span{display:flex;align-items:center;justify-content:center;height:30px}.calendar .weekday{font-size:9px;color:#6d685f}.calendar .muted{color:#98938a}.calendar .sample-day{background:var(--red);color:white;border-radius:50%;width:30px;justify-self:center}.demo-button{width:100%;margin-top:23px}.calendar-note{font-size:9px;line-height:1.6;text-align:center;color:#69645b;margin:13px 0 0}footer{padding:0 5% 25px}.footer-top{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between}.footer-top>a:last-child{font-size:11px}.footer-top>a:last-child span{margin-left:20px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;color:#706a61;font-size:9px}.footer-bottom>span:last-child{text-align:right}dialog{background:var(--paper);color:var(--ink);border:0;padding:42px;width:min(480px,calc(100% - 36px));max-height:90vh}dialog::backdrop{background:#18181599;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:16px;top:10px;border:0;background:none;font-size:28px}.close-dialog:hover{color:var(--red)}dialog h2{font:600 48px/1 var(--display);color:var(--red);margin-bottom:25px}dialog p{font-size:13px;line-height:1.8}#chosen-service{font-weight:700}.dialog-note{border-top:1px solid var(--line);padding-top:18px;color:#69645b}dialog .button{margin-top:10px} @media(min-width:1700px){.header,footer{max-width:1530px;margin:auto}.hero-visual{min-height:690px}.ribbon{max-width:1700px;margin:auto}}
@media(max-width:1000px){.header{height:95px}nav{gap:20px}.brand>span{display:none}.hero{gap:4%;padding-top:35px}.hero h1{font-size:8.5vw}.hero-visual{min-height:490px}.hero-bottom{gap:14px}.asterisk{font-size:46px}.hero-bottom p{font-size:12px}.section{padding:70px 5%}.approach{grid-template-columns:22% 1fr;gap:6%}.booking{gap:7%}.service-body{gap:30px}.ribbon{font-size:17px;gap:16px}.booking-panel{padding:22px}.process{gap:9%}}
@media(max-width:680px){.header{height:86px;gap:15px;margin:0 6%}.brand img{width:51px;height:51px}.header nav{display:none}.nav-cta{font-size:11px}.nav-cta span{margin-left:18px}.hero{display:flex;flex-direction:column;padding:31px 6% 28px;gap:32px}.hero-copy{padding:0}.eyebrow{font-size:9px;margin-bottom:24px}.hero h1{font-size:clamp(72px,17.8vw,115px);margin-bottom:28px}.hero-bottom{gap:22px}.hero-bottom p{font-size:12px;line-height:1.8}.asterisk{font-size:53px}.button{font-size:11px;padding:16px 19px}.hero-visual{min-height:0;aspect-ratio:4/4.5}.hero-visual>img{object-position:center 44%}.photo-index{font-size:8px;left:15px}.photo-stamp{font-size:32px}.hero-visual figcaption{font-size:10px;padding:13px 15px}.ribbon{justify-content:flex-start;gap:24px;padding:16px 6%;font-size:17px}.section{padding:57px 6%}.approach{display:block}.section-label{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:25px}.small-star{font-size:37px}.approach h2{font-size:31px}.approach-columns{grid-template-columns:1fr;gap:18px;margin-top:25px}.approach-columns p{font-size:12px}.principles{gap:16px}.principles span{font-size:9px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:54px}.section-heading>p{margin-top:24px;font-size:12px}.service summary{grid-template-columns:27px 1fr 28px;gap:8px;padding:23px 0}.service-title{font-size:19px}.service-title small{font-size:7px;line-height:1.6}.toggle{width:28px;height:28px}.service-body{padding:0 0 25px 35px;grid-template-columns:1fr;gap:18px}.service-body>p{font-size:12px}.service-meta a{font-size:10px}.process{display:block}.process h2{font-size:58px}.process-intro{position:relative;margin-bottom:36px}.process-mark{position:absolute;bottom:0;right:0;font-size:70px;margin:0;color:#d56957}.steps li{padding:22px 0;gap:22px}.steps h3{font-size:20px}.booking{display:block}.booking h2{font-size:85px}.booking-copy>p:not(.eyebrow){max-width:340px;font-size:12px}.booking-panel{margin-top:35px;padding:24px}.booking-note{font-size:9px}.calendar>span{height:33px}.calendar .sample-day{height:30px;align-self:center}.footer-top{padding:23px 0}.footer-top .brand>span{display:block;font-size:12px}.brand small{font-size:6px}.footer-top>a:last-child{font-size:9px}.footer-top>a:last-child span{margin-left:8px}.footer-bottom{flex-direction:column;gap:9px;font-size:8px;line-height:1.6}.footer-bottom>span:last-child{text-align:left}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
