@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(dm-sans-300.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(italiana-400.ttf) format('truetype');
}

:root{--olive:#364133;--olive-dark:#281F1A;--sage:#7F8E73;--euc:#AFBCA9;--ivory:#F5F0E6;--paper:#E4DAC8;--oat:#E4DAC8;--brown:#5F4031;--terracotta:#A85A46;--ink:#281F1A;--line:rgba(54,65,51,.19);--shadow:0 16px 52px rgba(40,31,26,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--olive-dark);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Italiana',Georgia,'Times New Roman',serif;font-weight:400;line-height:1.09;letter-spacing:-.025em}h1{font-size:clamp(3.7rem,7vw,7.6rem);margin-bottom:24px}h2{font-size:clamp(3rem,5vw,5.5rem);margin-bottom:22px}h3{font-size:clamp(1.45rem,2.1vw,2.15rem);font-weight:400;line-height:1.2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#677768}.eyebrow.white{color:#c5cfc2}.small-caps{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.container{max-width:1350px;padding:0 5.5%;margin:0 auto}.narrow{max-width:830px;margin-inline:auto}.section{padding:110px 0}.section.tight{padding:80px 0}.muted{color:#6d776c}.big-text{font-size:clamp(1.12rem,1.6vw,1.45rem);line-height:1.75}.divider{height:1px;background:var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--olive-dark);padding:15px 25px;background:var(--olive-dark);color:var(--ivory);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;transition:.24s}.btn:hover{background:var(--brown);border-color:var(--brown);transform:translateY(-2px)}.btn.light{background:var(--ivory);color:var(--olive-dark);border-color:var(--ivory)}.btn.outline{background:transparent;color:var(--olive-dark)}.btn.outline:hover{background:var(--olive-dark);color:var(--ivory)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.arrow{font-size:19px;font-weight:300}.site-header{position:sticky;top:0;z-index:30;background:rgba(245,240,230,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:89px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;color:var(--olive)}.brand .wordmark{font-family:'Italiana',Georgia,serif;font-size:30px;letter-spacing:-.045em}.brand .descriptor{font-size:8px;letter-spacing:.35em;text-transform:uppercase;margin-top:7px}.nav-links{display:flex;align-items:center;gap:25px}.nav-links>a:not(.btn){font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;transition:color .2s}.nav-links>a:hover{color:var(--terracotta)}.nav-links .btn{padding:11px 16px;font-size:9px}.menu-toggle{display:none;background:none;border:0;padding:10px;color:var(--olive)}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px}.hero{display:grid;grid-template-columns:49% 51%;min-height:660px;max-height:880px;background:var(--paper)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:85px 7% 85px 11%;position:relative}.hero-copy h1{font-size:clamp(4rem,6.1vw,7.7rem);max-width:660px;margin:21px 0 22px}.hero-copy p{max-width:420px}.hero-photo{min-height:580px;position:relative;overflow:hidden;background:#b8b3a5}.hero-photo img{width:100%;height:100%;filter:saturate(.67) contrast(.9) brightness(.93)}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,41,29,.12),transparent 35%),linear-gradient(0deg,rgba(28,41,29,.25),transparent 40%)}.hero-photo .overlay-note{position:absolute;z-index:1;bottom:37px;right:35px;color:#fff;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.hero-callout{margin-top:38px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-callout .detail{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#778175}.photo-stamp{position:absolute;top:35px;right:40px;z-index:2;border:1px solid rgba(255,255,255,.8);width:103px;height:103px;border-radius:50%;color:white;display:grid;place-items:center;text-align:center;font-family:'Italiana',serif;font-size:17px;line-height:1.05;transform:rotate(12deg)}.ribbon{background:var(--olive);color:#edf0e9;display:flex;gap:24px;justify-content:center;align-items:center;padding:19px 20px;text-align:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;flex-wrap:wrap}.ribbon .dot{opacity:.45}.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:center}.intro h2{max-width:500px}.intro .intro-body{max-width:620px}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:58px}.intent-card{padding:36px 26px 18px 0;border-top:1px solid var(--line)}.intent-card .num{font-family:'Italiana',serif;color:var(--terracotta);font-size:34px}.intent-card p{font-size:13px;color:#697569;max-width:320px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:580px}.split-image{min-height:540px;position:relative;overflow:hidden}.split-image img{height:100%;width:100%;filter:saturate(.72) contrast(.93)}.split-content{background:var(--olive);color:var(--ivory);padding:80px min(9vw,110px);display:flex;flex-direction:column;justify-content:center}.split-content p{color:#d8ded4}.split-content h2{font-size:clamp(3rem,4.4vw,5.4rem)}.split-content .detail-line{border-top:1px solid #677567;padding:18px 0;font-size:12px}.split-content .detail-line:last-child{border-bottom:1px solid #677567}.center-head{text-align:center;max-width:800px;margin:0 auto 50px}.center-head p{max-width:620px;margin:auto}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{border:1px solid #c8cbbf;background:#fbf9f4;padding:35px 31px 32px;display:flex;flex-direction:column;position:relative;min-height:465px}.package.featured{background:var(--paper);border:1px solid var(--olive)}.package .tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);font-weight:700}.package h3{font-family:'Italiana',Georgia,serif;font-size:42px;margin:16px 0 9px}.package .price{font-family:'Italiana',Georgia,serif;font-size:51px;line-height:1.2}.package .desc{color:#707b6e;font-size:13px}.package ul{padding-left:18px;color:#4e5e50;font-size:12px;line-height:2}.package li::marker{color:var(--terracotta)}.package .bottom{margin-top:auto}.package .btn{width:100%;padding:13px 10px}.package .popular{position:absolute;top:-15px;right:20px;background:var(--olive);color:white;padding:4px 13px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.fine{font-size:11px;color:#747c72}.quote-band{background:var(--oat);padding:100px 10%;text-align:center}.quote-band p{font-family:'Italiana',Georgia,serif;font-size:clamp(2.8rem,4.7vw,5.5rem);line-height:1.25;max-width:1120px;margin:auto}.quote-band em{color:#a76d54;font-style:normal}.gallery-tiles{display:grid;grid-template-columns:1.18fr .8fr .8fr;grid-template-rows:265px 265px;gap:12px}.gallery-tiles figure{margin:0;position:relative;overflow:hidden;background:var(--oat)}.gallery-tiles figure:first-child{grid-row:span 2}.gallery-tiles img{width:100%;height:100%;transition:transform .7s;filter:saturate(.72)}.gallery-tiles figure:hover img{transform:scale(1.04)}.gallery-tiles figcaption{position:absolute;bottom:15px;left:19px;color:white;font-size:11px;letter-spacing:.08em;text-shadow:0 1px 12px #333}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.process article{border-top:1px solid var(--line);padding-top:27px}.process .step{font-family:'Italiana',serif;color:var(--terracotta);font-size:40px}.process p{font-size:13px;color:#6b776b}.bio{display:grid;grid-template-columns:48% 52%;background:var(--paper);min-height:570px}.bio-art{background:#c4c8b7;overflow:hidden}.bio-art img{width:100%;height:100%;filter:saturate(.55)}.bio-copy{padding:85px 11%;display:flex;flex-direction:column;justify-content:center}.bio-copy p{max-width:550px}.faq{max-width:930px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:16px;font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-family:Georgia,serif;font-size:28px;color:var(--terracotta);line-height:1}.faq details[open] summary::after{content:'−'}.faq details p{max-width:730px;font-size:13px;color:#657264;margin:15px 0 3px}.cta-panel{background:var(--olive);color:white;text-align:center;padding:100px 20px}.cta-panel h2{max-width:850px;margin:15px auto 25px}.cta-panel p{color:#d1d9d0;max-width:550px;margin:0 auto 30px}.footer{background:var(--olive);color:#e1e6df;padding:65px 0 30px}.footer-columns{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}.footer .brand{align-items:flex-start;color:#e1e6df}.footer h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:3px}.footer p,.footer a{font-size:12px;color:#b7c4b8}.footer a:hover{color:white}.footer nav{display:grid;gap:9px}.footer-bottom{border-top:1px solid #586759;margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:#9ca99d}.page-hero{background:var(--paper);padding:110px 0 95px}.page-hero h1{max-width:1000px;font-size:clamp(4rem,6.8vw,7.5rem);margin:17px 0 25px}.page-hero p{max-width:630px;font-size:18px}.content-prose{max-width:840px;margin:auto}.content-prose h2{font-size:clamp(2.5rem,4vw,4.5rem);margin-top:65px}.content-prose h3{font-size:2rem}.content-prose p{color:#5c695f}.editorial-aside{background:var(--paper);padding:34px;margin:30px 0;border-left:3px solid var(--terracotta)}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.values article{background:var(--paper);padding:30px}.location-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.location-pills span{border:1px solid var(--line);padding:6px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding:95px 0 125px}.form-panel{background:white;border:1px solid var(--line);padding:45px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-panel label{display:block;color:#3e4c40;font-size:11px;letter-spacing:.06em;margin-bottom:5px;font-weight:600}.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{width:100%;padding:13px 14px;background:#faf9f5;border:1px solid #c7cfc5;border-radius:0;color:#273b2c;outline:none}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:#657966;box-shadow:0 0 0 3px #e4eadf}.form-panel textarea{min-height:125px;resize:vertical}.form-panel .full{grid-column:1/-1}.form-panel .consent{display:flex;gap:10px;font-size:11px;align-items:flex-start}.form-panel .consent input{margin-top:4px}.form-panel button{margin-top:20px}.form-message{margin-top:17px;font-size:13px;padding:14px;display:none}.form-message.visible{display:block;background:#eef1e9;border-left:3px solid var(--olive)}.form-message.error{background:#fbefec;border-left-color:#af6c4f}.skip{position:absolute;top:-55px;left:5px;z-index:100;background:#fff;padding:9px}.skip:focus{top:5px}.placeholder-note{font-size:11px;color:#6f776c;border-left:2px solid #b0b9ae;padding-left:12px;margin-top:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:35px}.photo-card{height:520px;overflow:hidden}.photo-card img{width:100%;height:100%}
@media(max-width:1100px){.nav-links{gap:14px}.nav-links>a:not(.btn){font-size:9px}.hero-copy{padding-left:8%;padding-right:5%}.hero h1{font-size:clamp(3.8rem,6.2vw,6.5rem)}.section{padding:90px 0}}
@media(max-width:800px){.nav{min-height:72px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:25px 6% 30px;background:var(--ivory);border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a:not(.btn){font-size:12px}.nav-links .btn{font-size:11px}.hero{grid-template-columns:1fr;max-height:none;min-height:0}.hero-copy{order:2;padding:70px 6% 75px}.hero-copy h1{font-size:clamp(3.7rem,12vw,6.2rem)}.hero-photo{order:1;height:430px;min-height:430px}.photo-stamp{width:78px;height:78px;top:20px;right:20px;font-size:14px}.intro{grid-template-columns:1fr;gap:8px}.intent-grid,.packages,.process{grid-template-columns:1fr}.intent-grid{gap:2px}.intent-card{padding-bottom:0}.split{grid-template-columns:1fr}.split-image{height:470px;min-height:0}.split-content{padding:75px 8%}.packages{gap:30px}.package{min-height:0}.package .bottom{margin-top:25px}.gallery-tiles{grid-template-columns:1fr 1fr;grid-template-rows:300px 250px 250px}.gallery-tiles figure:first-child{grid-column:span 2;grid-row:auto}.bio{grid-template-columns:1fr}.bio-art{height:410px}.bio-copy{padding:75px 7%}.footer-columns{grid-template-columns:1fr 1fr}.footer-columns>div:first-child{grid-column:span 2}.contact-layout{grid-template-columns:1fr;gap:40px}.page-hero{padding:80px 0 70px}.values,.two-col{grid-template-columns:1fr}.photo-card{height:380px}}
@media(max-width:480px){.container{padding:0 6%}.section{padding:75px 0}.section.tight{padding:55px 0}.hero-photo{height:355px;min-height:355px}.hero h1{font-size:3.7rem}.form-panel{padding:25px 19px}.form-grid{grid-template-columns:1fr}.form-panel .full{grid-column:auto}.footer-columns{grid-template-columns:1fr}.footer-columns>div:first-child{grid-column:auto}.gallery-tiles{grid-template-rows:200px 190px 190px;gap:7px}.gallery-tiles figcaption{font-size:9px;left:9px;bottom:9px}.quote-band{padding:65px 7%}.quote-band p{font-size:2.9rem}.bio-art{height:320px}.page-hero h1{font-size:3.8rem}.ribbon{font-size:8px;gap:10px}.ribbon .dot{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Readable controls and keyboard navigation. */
:focus-visible{outline:3px solid var(--terracotta);outline-offset:5px}.btn{font-size:11px;letter-spacing:.1em;min-height:44px}.nav-links>a:not(.btn){font-size:12px}.fine,.placeholder-note{font-size:13px;color:#555d50}.eyebrow{color:#55654e}.package .tag{color:#854431}.package ul,.package .desc,.intent-card p,.process p,.faq details p{font-size:15px;color:#485443}.form-panel label,.form-panel .consent{font-size:13px}.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{font-size:16px}.form-panel button:disabled{cursor:wait;opacity:.65}.hero-copy h1{font-size:clamp(3.6rem,5.4vw,6.5rem)}.footer-bottom{font-size:12px}.footer .fine{color:#d8ded4}@media(max-width:800px){.nav-links a:not(.btn){font-size:14px}.hero-copy h1{font-size:clamp(3.3rem,10vw,5.7rem)}}@media(max-width:360px){.hero-copy h1{font-size:3.15rem}.page-hero h1{font-size:3.15rem}.package{padding:28px 22px}}

@media(max-width:480px){.hero-copy h1{font-size:clamp(2.35rem,10.5vw,3rem)}}

/* Complete photo layouts, accessible navigation and responsive refinements. */
html{scroll-padding-top:100px}body{overflow-wrap:break-word}.nav-links>a[aria-current=page]:not(.btn){color:var(--terracotta);text-decoration:underline;text-underline-offset:7px}.hero{max-height:none;min-height:660px}.hero-copy{padding-block:65px}.hero-photo img{filter:none;object-position:60% center}.split-image img,.bio-art img,.gallery-tiles img{filter:none}.bio{align-items:center}.bio-art{padding:28px;height:auto}.bio-art img{height:auto;aspect-ratio:3/2;object-fit:contain}.photo-card{height:auto;align-self:center}.photo-card img{height:auto;aspect-ratio:3/2;object-fit:contain}.gallery-tiles{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:20px}.gallery-tiles figure{aspect-ratio:3/2}.gallery-tiles figure:first-child{grid-row:auto;grid-column:span 2;aspect-ratio:2.2/1}.gallery-tiles figcaption{inset:auto 0 0;padding:30px 20px 15px;background:linear-gradient(transparent,rgba(40,31,26,.65));font-size:12px}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.photo-stamp{background:rgba(54,65,51,.55)}.menu-toggle{min-width:44px;min-height:44px}.skip{top:-100px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:801px) and (max-width:1100px){.nav{gap:10px}.nav-links{gap:12px}.nav-links>a:not(.btn){font-size:10px}.brand .wordmark{font-size:27px}.brand .descriptor{letter-spacing:.2em}}
@media(max-width:800px){.hero-photo{height:auto;min-height:0;aspect-ratio:3/2}.hero-photo img{height:100%;object-position:center}.bio-art{padding:20px}.gallery-tiles{gap:12px}.gallery-tiles figure:first-child{aspect-ratio:3/2}.gallery-tiles figcaption{font-size:10px;padding:25px 10px 10px}.page-hero h1{font-size:clamp(2.9rem,10vw,5rem)}.photo-card{height:auto}.split-image{height:auto;aspect-ratio:3/2}}
@media(max-width:480px){.gallery-tiles{grid-template-columns:1fr}.gallery-tiles figure:first-child{grid-column:auto}.hero-copy{padding-top:48px}.hero-photo .overlay-note{bottom:16px;right:16px;font-size:8px}.bio-art{height:auto;padding:14px}.gallery-tiles figcaption{font-size:12px}}
