:root{--cream:#F7F2E9;--paper:#FAF7F1;--brown:#42362F;--olive:#666C4F;--sage:#A5AB93;--oat:#D8C9B8;--clay:#BC8067;--blush:#CBA9A2;--muted:#796F61;--line:#D9D0C3;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;top:-50px;left:16px;background:var(--brown);color:white;padding:9px 12px;z-index:30}.skip:focus{top:10px}.hidden{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.site-header{height:102px;background:#FAF7F1;position:relative;z-index:10;border-bottom:1px solid rgba(66,54,47,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;line-height:0;max-width:146px}.brand img{width:146px;height:87px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:32px}.nav>a{font-size:12px;text-decoration:none;font-weight:600;letter-spacing:.01em}.nav>a:hover,.text-link:hover{color:#9B7053}.nav>a:focus-visible,.text-link:focus-visible,.button:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.nav .nav-cta{padding:14px 20px;background:var(--olive);color:#fff;border-radius:2px;margin-left:16px;font-weight:600}.nav .nav-cta:hover{background:#454d36;color:white}.menu-toggle{display:none}
.hero{padding:54px 0 82px;overflow:hidden;background:radial-gradient(ellipse at 25% 75%,#F5EADC 0,transparent 52%),var(--cream)}.hero-grid{display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:64px;min-height:540px}.hero-copy{padding-block:25px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--olive);line-height:1.7}.eyebrow-line{display:inline-block;width:25px;height:1px;background:var(--olive);margin:0 10px 4px 0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.048em}h1{font-size:clamp(49px,5vw,80px);line-height:1.1;margin:28px 0 25px;max-width:590px}h1 em,h2 em,.interlude-words em{font-weight:400;font-style:italic;color:var(--olive)}.hero-copy>p{color:#64584F;font-size:15px;line-height:1.9;max-width:435px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.button{border:none;display:inline-flex;justify-content:center;align-items:center;gap:27px;text-decoration:none;white-space:nowrap;font-size:12px;letter-spacing:.02em;font-weight:700;min-height:51px;padding:15px 22px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-olive{background:var(--olive);color:white}.button-olive:hover{background:#4d563c}.text-link{text-decoration:none;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.text-link span{margin-left:10px}.tiny-note{font-size:11px;color:#857568;margin-top:48px;letter-spacing:.04em}.tiny-note span{color:var(--clay);font-size:18px;margin-right:8px}.hero-visual{position:relative;padding:0 12px 22px 0}.hero-photo-wrap{height:530px;border-radius:250px 250px 3px 3px;overflow:hidden;background:var(--oat)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:63% center}.photo-tag{font-family:var(--serif);font-style:italic;position:absolute;bottom:30px;right:-26px;background:#EFE2D0;transform:rotate(-8deg);padding:20px 28px;font-size:23px;line-height:1.1;color:var(--brown);box-shadow:0 6px 25px rgba(60,45,34,.11)}.olive-badge{position:absolute;top:6px;left:-39px;width:98px;height:98px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:0 8px 25px rgba(46,40,30,.07)}.olive-badge svg{width:65px;height:65px;color:var(--olive)}
.marquee{background:var(--olive);color:#F7F2E9;overflow:hidden}.marquee-inner{max-width:1500px;margin:auto;display:flex;justify-content:space-around;gap:32px;align-items:center;padding:18px 15px;white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.18em}.star{font-size:17px;color:#D9C8A8}
.section{padding:106px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading h2,.about h2,.contact h2{font-size:clamp(42px,4vw,65px);line-height:1.1;margin:16px 0 0}.section-heading>p{max-width:290px;font-size:14px;line-height:1.8;color:#786B5E;margin:0 0 8px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:28px 30px 36px 26px;min-height:225px;border-right:1px solid var(--line)}.service:first-child{padding-left:2px}.service:last-child{border-right:0}.service-top{display:flex;justify-content:space-between;align-items:center;color:var(--olive);margin-bottom:36px}.service-num{font-size:12px;letter-spacing:.08em}.service-symbol{font-size:19px;line-height:1}.service h3{font-size:30px;line-height:1.13;margin:0 0 12px}.service p{font-size:13px;line-height:1.65;color:#7B7065;margin:0;max-width:215px}.service-end{display:flex;justify-content:space-between;gap:25px;margin:22px 0 0;font-size:12px;color:#7B7065}.service-end a{color:var(--olive);font-weight:700;text-decoration:none;white-space:nowrap}
.interlude{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;min-height:370px;background:#EAE5D9}.interlude-photo{min-height:370px;overflow:hidden}.interlude-photo img{height:100%;width:100%;object-fit:cover}.interlude-photo.second img{object-position:52% 40%}.interlude-words{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px}.interlude-words p{font-family:var(--serif);font-weight:400;font-size:clamp(35px,3.5vw,52px);line-height:1.13;letter-spacing:-.05em;margin:22px 0}.interlude-flourish{font-size:34px;color:var(--clay);font-weight:300}
.about{background:#EAEADF}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.about-left{padding:25px 0}.about h2{margin-bottom:35px}.about-rule{width:52px;height:1px;background:var(--clay);margin-bottom:28px}.about p{font-size:15px;line-height:1.95;max-width:440px;color:#655B50}.about p+p{margin-top:10px}.about .text-link{display:inline-block;margin-top:22px}.about-right{position:relative;height:490px;overflow:hidden;border-radius:230px 230px 2px 2px}.about-right img{height:100%;width:100%;object-fit:cover;object-position:70% 50%}.about-overlay{position:absolute;bottom:27px;right:26px;color:white;font-style:italic;font-family:var(--serif);font-size:32px;text-align:right;text-shadow:0 2px 5px #42362F80}
.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px}.contact-intro{padding-top:20px}.contact h2{margin-bottom:25px}.contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#695D52;max-width:345px}.contact-note{margin-top:80px;color:var(--olive);font-size:12px}.contact-note span{margin-right:8px}.contact-form{background:#FAF7F1;padding:40px 43px;box-shadow:0 10px 42px rgba(80,64,47,.07);border:1px solid #ECE4D8}.field{margin-bottom:20px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;padding:13px 15px;background:#fff;border:1px solid #D9D0C3;border-radius:0;font-size:13px;color:var(--brown);outline:none}.field input:focus,.field textarea:focus{border-color:var(--olive);box-shadow:0 0 0 2px #666C4F22}.field textarea{resize:vertical;min-height:108px}.field input::placeholder,.field textarea::placeholder{color:#958B81}.button-dark{background:var(--brown);color:white;width:100%;justify-content:space-between}.button-dark:hover{background:#63503e}.form-note{font-size:10px;line-height:1.5;color:#887B70;margin:12px 0 0}
.footer{background:var(--olive);color:#F7F2E9;padding:37px 0}.footer-inner{display:flex;justify-content:space-between;align-items:end;gap:25px}.footer-brand{display:flex;flex-direction:column;gap:5px}.footer-wordmark{font-family:var(--serif);font-size:35px;letter-spacing:-.05em;line-height:1}.footer-brand>span:last-child{font-size:9px;letter-spacing:.22em}.footer-right{text-align:right;display:flex;flex-direction:column;gap:11px;font-size:10px;letter-spacing:.02em;color:#E4DFD2}
@media(max-width:1050px){.wrap{width:min(1120px,calc(100% - 56px))}.hero-grid{gap:32px}.hero-photo-wrap{height:465px}.service{padding-right:15px}.service h3{font-size:27px}.about-grid,.contact-grid{gap:55px}.nav{gap:19px}.nav .nav-cta{margin-left:0}}
@media(max-width:760px){.wrap{width:calc(100% - 42px)}.site-header{height:82px}.brand img{width:119px;height:71px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:0;width:42px;height:42px;padding:11px}.menu-toggle span{background:var(--brown);height:2px;width:100%}.nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 22px 22px;box-shadow:0 10px 18px #4b3a2916;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:13px 6px;font-size:14px}.nav .nav-cta{margin-top:9px;text-align:center;padding:15px}.hero{padding:32px 0 55px}.hero-grid{grid-template-columns:1fr;gap:24px;min-height:unset}.hero-copy{padding:8px 0}.hero h1{font-size:clamp(43px,11vw,68px);margin:20px 0}.hero-copy>p{font-size:14px}.hero-actions{margin-top:25px;gap:17px;flex-wrap:wrap}.tiny-note{margin-top:30px}.hero-visual{padding:0 14px 20px}.hero-photo-wrap{height:370px;border-radius:220px 220px 2px 2px}.olive-badge{left:0;width:75px;height:75px}.olive-badge svg{width:52px;height:52px}.photo-tag{right:0;bottom:3px;font-size:19px;padding:14px 18px}.marquee-inner{min-width:920px;justify-content:flex-start}.section{padding:75px 0}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.about h2,.contact h2{font-size:clamp(40px,10vw,58px)}.section-heading>p{margin-top:16px}.services-grid{grid-template-columns:1fr 1fr}.service{min-height:200px;padding:23px 16px 23px 0}.service:nth-child(2){padding-left:17px;border-right:0}.service:nth-child(3){border-top:1px solid var(--line)}.service:nth-child(4){border-top:1px solid var(--line);padding-left:17px}.service-top{margin-bottom:27px}.service h3{font-size:26px}.service p{font-size:12px}.service-end{flex-direction:column;gap:7px;line-height:1.7}.interlude{grid-template-columns:1fr 1fr;min-height:280px}.interlude-photo{min-height:270px}.interlude-photo.second{display:none}.interlude-words{padding:16px}.interlude-words p{font-size:30px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-left{padding:0}.about-right{height:355px}.contact-note{margin-top:30px}.contact-form{padding:26px 23px}.footer-inner{align-items:start;flex-direction:column}.footer-right{text-align:left;gap:8px}}
@media(max-width:380px){.hero-actions{align-items:flex-start;flex-direction:column}.services-grid{grid-template-columns:1fr}.service,.service:nth-child(2),.service:nth-child(3),.service:nth-child(4){padding:24px 2px;border-right:0;border-top:1px solid var(--line);min-height:170px}.service:first-child{border-top:0}.service-top{margin-bottom:20px}.interlude{grid-template-columns:1fr}.interlude-photo{height:230px;min-height:230px}.interlude-words{padding:45px 16px}.footer-brand .footer-wordmark{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
