:root{--paper:#f5f1eb;--ink:#272922;--muted:#666b64;--sage-text:#596b59;--line:#d8d6cd;--sage:#899786;--dark:#424c42;--cream:#e9e4d9;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #7c5b37;outline-offset:4px}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--ink);color:#fff;padding:.65rem 1rem;z-index:10}.skip-link:focus{top:1rem}.section-shell{width:min(100% - 64px,1360px);margin-inline:auto}.site-header{height:94px;padding:0 max(32px,calc((100vw - 1360px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:1.68rem;font-weight:600;letter-spacing:-.09em;line-height:1}.wordmark span{color:var(--sage)}.site-header nav{display:flex;gap:2.4rem;align-items:center;font-size:.83rem;font-weight:600}.site-header nav a:not(.nav-contact):hover,.text-link:hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid var(--ink);padding:.68rem 1.05rem}.nav-contact:hover{background:var(--ink);color:var(--white)}.nav-contact span,.button span,.text-link span{margin-left:.75em}.hero{min-height:760px;display:grid;grid-template-columns:48% 52%;align-items:center;gap:0;padding-block:64px 96px}.hero-copy{padding:0 8% 0 4%;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:600;margin:0 0 1.45rem}.hero h1,h2,.quote-band p{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.04}h1 em,h2 em,.quote-band em{font-style:normal;color:var(--sage-text)}.hero h1{font-size:clamp(5rem,7.8vw,9.3rem);margin:0 0 2rem;white-space:nowrap}.lead{font-size:1.12rem;line-height:1.8;max-width:360px;margin:0 0 2.5rem}.hero-actions{display:flex;gap:2rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:174px;padding:.95rem 1.3rem;font-size:.83rem;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--dark);color:var(--white)}.button-dark:hover{background:var(--ink)}.text-link{font-weight:600;font-size:.83rem;border-bottom:1px solid currentColor;padding-bottom:.25rem}.hero-note{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6.5rem 0 0}.hero-composition{height:650px;position:relative}.photo-slot{position:relative;overflow:hidden;background:linear-gradient(140deg,#cccac0 0%,#e7e2d7 50%,#b9c0b2 100%);border:1px solid rgba(39,41,34,.12);display:flex;align-items:center;justify-content:center;color:#585e57}.photo-slot::before{content:"";position:absolute;inset:8%;border:1px solid rgba(39,41,34,.22)}.photo-slot span{position:relative;z-index:1;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(245,241,235,.88);padding:.5rem .65rem}.hero-photo{width:72%;height:88%;position:absolute;right:2%;top:0}.hero-detail{width:34%;height:42%;position:absolute;left:0;bottom:0;background:linear-gradient(135deg,#d7d2c9,#aab7a8)}.hero-stamp{position:absolute;right:1%;bottom:5%;font-family:Italiana,Georgia,serif;font-size:1.35rem;transform:rotate(-7deg)}.marquee{display:flex;justify-content:space-around;gap:1.8rem;overflow:hidden;white-space:nowrap;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.66rem;letter-spacing:.22em;font-weight:600}.marquee .star{font-size:1.2rem;line-height:1}.intro{padding-block:148px 160px;text-align:center}.intro h2{max-width:1000px;margin:0 auto 2rem;font-size:clamp(3.6rem,6.4vw,7rem)}.intro>p:last-child{max-width:570px;margin:auto;color:var(--muted);line-height:1.85}.work{padding-bottom:145px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:3rem}.section-heading h2,.about h2,.process h2{font-size:clamp(3.9rem,6.3vw,7rem);margin:0}.section-heading>p{max-width:330px;margin:0 0 .7rem;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr;gap:28px;align-items:start}.work-card .photo-slot{width:100%;height:540px}.work-card-large .photo-slot{height:660px}.work-card-offset{margin-top:90px}.work-card-third{margin-top:190px}.slot-family{background:linear-gradient(125deg,#b3b6a8,#ded2bf 65%,#a79a85)}.slot-couple{background:linear-gradient(130deg,#dad6ce,#a4ada3)}.slot-portrait{background:linear-gradient(135deg,#c6b4a7,#e4d9ce 65%,#b2ae9e)}.work-caption{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:baseline;margin-top:1rem}.work-caption span{font-size:.65rem;color:var(--muted)}.work-caption h3{font-family:Italiana,Georgia,serif;font-size:2.45rem;font-weight:400;line-height:1;margin:0}.work-caption p{grid-column:2;margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.quote-band{background:var(--dark);color:var(--white);padding:98px 24px;text-align:center}.quote-band p{font-size:clamp(3rem,5.4vw,6.4rem);max-width:990px;margin:auto}.quote-band em{color:#bfccbd}.about{padding-block:150px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-photo{height:660px;background:linear-gradient(130deg,#d5d1c7,#aab7ac 55%,#dfd7c8)}.about-copy{max-width:525px}.about h2{margin-bottom:2rem}.about-copy>p:not(.eyebrow){font-size:.98rem;color:var(--muted);line-height:1.9;margin:0 0 1.3rem}.about-copy .text-link{display:inline-block;margin-top:1rem}.packages{padding-block:110px 145px;border-top:1px solid var(--line)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.package-card{border:1px solid var(--line);background:#f8f6f1;min-height:380px;padding:2.2rem;display:flex;flex-direction:column}.package-card.featured{background:#e9e7dc;border-color:#ccd0c3}.package-number{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.package-card h3{font-family:Italiana,Georgia,serif;font-size:4rem;font-weight:400;line-height:1;margin:4rem 0 1.2rem}.package-card>p{max-width:290px;color:var(--muted);margin:0}.package-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:auto;font-size:.75rem}.package-bottom span{color:var(--muted)}.package-bottom a{text-decoration:underline;text-underline-offset:4px;font-weight:600}.package-note{color:var(--muted);font-size:.74rem;margin:1.1rem 0 0}.process{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:35px 150px}.process h2{max-width:520px}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:65px 1fr;padding:1.25rem 0;border-top:1px solid var(--line)}.process li:last-child{border-bottom:1px solid var(--line)}.process li>span{font-size:.72rem;color:var(--muted);padding-top:.3rem}.process h3{font-weight:500;font-size:1.08rem;margin:0 0 .2rem}.process li p{color:var(--muted);margin:0;font-size:.83rem}.contact{background:var(--sage);text-align:center;padding:115px 0 135px}.contact-inner{max-width:850px}.contact h2{font-size:clamp(4.5rem,8vw,9rem);margin:0 auto 1.5rem}.contact h2 em{color:var(--paper)}.contact p:not(.eyebrow){margin:0 auto 2.4rem;max-width:440px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--white)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:118px}.site-footer p,.site-footer>a:last-child{font-size:.75rem;color:var(--muted)}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1fr;min-height:650px}.hero h1{font-size:clamp(4.4rem,7vw,7rem)}.hero-composition{height:540px}.work-card .photo-slot{height:410px}.work-card-large .photo-slot{height:510px}.about-photo{height:540px}.package-card{padding:1.4rem}.package-card h3{font-size:3.1rem}}@media(max-width:760px){.section-shell{width:min(100% - 36px,580px)}.site-header{height:70px;padding-inline:18px}.wordmark{font-size:1.38rem}.site-header nav{gap:1rem;font-size:.72rem}.site-header nav a:nth-child(1),.site-header nav a:nth-child(2){display:none}.nav-contact{padding:.5rem .55rem}.hero{display:block;padding-block:60px 72px}.hero-copy{padding:0}.hero h1{font-size:clamp(4.3rem,15vw,7rem);margin-bottom:1rem}.lead{font-size:1rem;margin-bottom:1.6rem}.hero-actions{gap:1.25rem}.hero-note{margin:2.5rem 0 1.8rem}.hero-composition{height:490px}.hero-photo{width:76%;height:88%}.hero-detail{width:37%;height:40%}.hero-stamp{bottom:1%;right:0;font-size:1rem}.marquee{gap:1rem}.intro{padding-block:90px 100px}.intro h2{font-size:clamp(3.2rem,11.5vw,5.8rem)}.section-heading{display:block;margin-bottom:1.7rem}.section-heading h2,.about h2,.process h2{font-size:clamp(3.8rem,12vw,5.8rem)}.section-heading>p{margin:1rem 0 0}.work{padding-bottom:80px}.work-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.work-card-large{grid-column:1/-1}.work-card-large .photo-slot{height:510px}.work-card .photo-slot{height:300px}.work-card-offset,.work-card-third{margin:0}.work-caption{grid-template-columns:24px 1fr}.work-caption h3{font-size:1.95rem}.work-caption p{font-size:.7rem}.quote-band{padding:70px 18px}.quote-band p{font-size:clamp(3rem,10vw,5rem)}.about{grid-template-columns:1fr;gap:3.5rem;padding-block:90px}.about-photo{height:500px}.packages{padding-block:80px}.package-grid{grid-template-columns:1fr}.package-card{min-height:300px;padding:1.7rem}.package-card h3{margin:2rem 0 1rem;font-size:3.6rem}.process{grid-template-columns:1fr;gap:2.5rem;padding-block:0 90px}.contact{padding:85px 0 95px}.contact h2{font-size:clamp(4rem,13vw,7rem)}.site-footer{padding-block:2rem;display:grid;grid-template-columns:1fr auto;min-height:0}.site-footer p{grid-row:2;grid-column:1/-1;margin:0}}@media(max-width:420px){.hero h1{font-size:4.3rem}.hero-composition{height:400px}.hero-actions{gap:.8rem}.hero-actions .button{min-width:145px;padding:.8rem;font-size:.75rem}.hero-actions .text-link{font-size:.75rem}.work-card-large .photo-slot{height:390px}.work-card .photo-slot{height:245px}.work-caption p{line-height:1.3}.about-photo{height:400px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Quiet, editorial interaction states. */
.nav-contact,.button{position:relative;transition:background-color .24s ease,color .24s ease,transform .15s ease}
.nav-contact::after,.button::after{content:"";position:absolute;inset:5px;border:1px solid currentColor;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .24s ease,transform .24s ease}
.nav-contact:hover::after,.nav-contact:focus-visible::after,.button:hover::after,.button:focus-visible::after{opacity:.48;transform:scale(1)}
.button:hover{transform:none}
.nav-contact:active,.button:active{transform:translateY(1px)}
.nav-contact .nav-contact-label-desktop,.nav-contact .nav-contact-label-mobile{margin-left:0}
.nav-contact-label-mobile{display:none}
@media(max-width:760px){.nav-contact-label-desktop{display:none}.nav-contact-label-mobile{display:inline}}
.text-link,.feature-card a,.package-bottom a,.site-footer>a:last-child{border-bottom:0;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .26s cubic-bezier(.16,1,.3,1)}
.text-link:hover,.text-link:focus-visible,.feature-card a:hover,.feature-card a:focus-visible,.package-bottom a:hover,.package-bottom a:focus-visible,.site-footer>a:last-child:hover,.site-footer>a:last-child:focus-visible{background-size:100% 1px;text-decoration:none}
@media(prefers-reduced-motion:reduce){.nav-contact,.button,.nav-contact::after,.button::after,.text-link,.feature-card a,.package-bottom a,.site-footer>a:last-child{transition:none}}

/* Keep the light contact headline legible on the sage background. */
.contact h2 em{color:#fff}
@media(max-width:760px){
  .site-header nav a[href="#sessioonid"],.site-header .nav-contact{display:inline-flex;align-items:center;min-height:44px}
  .eyebrow{font-size:.74rem;letter-spacing:.16em}
}

@media(max-width:760px){
  .opening-panel .process{padding-top:clamp(56px,12vw,72px);gap:3rem}
  .opening-panel .process li{padding-block:1.6rem}
}
