@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap');
:root{--ink:#24352f;--sage:#73877b;--sea:#dce5dc;--cream:#f7f4ed;--paper:#eee9df;--gold:#b79d76;--white:#fffdfa;--line:rgba(36,53,47,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.6}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}em{font-family:Georgia,serif;font-weight:400}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.04}h2{font-size:clamp(3.1rem,6.4vw,7rem);letter-spacing:-.04em}h3{font-size:2.25rem}.section-pad{padding:clamp(5rem,9vw,10rem) clamp(1.25rem,5vw,6rem)}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.27em;color:var(--sage);text-transform:uppercase;line-height:1.5}.eyebrow.light{color:#e7dbc8}.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1000}.progress span{display:block;width:0;height:100%;background:var(--gold)}.site-header{height:80px;position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:rgba(247,244,237,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(36,53,47,.08);transition:height .3s,background .3s}.site-header.is-scrolled{height:68px}.wordmark{display:flex;align-items:center;gap:.8rem;font-family:'Italiana',Georgia,serif;font-size:1.15rem;line-height:1;letter-spacing:.08em;white-space:nowrap}.wordmark small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.48rem;letter-spacing:.23em;margin-top:.4rem;font-weight:600}.wordmark-mark{font-size:1.35rem;color:var(--sage);border:1px solid var(--gold);border-radius:50%;width:39px;height:39px;display:grid;place-items:center;letter-spacing:-.12em;padding-right:.18em}.site-header nav{display:flex;gap:clamp(1rem,2.5vw,2.6rem);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.site-header nav a{transition:color .25s}.site-header nav a:hover{color:var(--gold)}.language-switch{border:1px solid var(--line);border-radius:99px;background:transparent;padding:.55rem .77rem;font-size:.7rem;font-weight:600;letter-spacing:.12em;min-width:45px}.language-switch:hover{background:var(--ink);color:var(--white)}.hero{position:relative;height:min(900px,100svh);min-height:680px;color:var(--white);overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/hero-family-illustrative.png');background-size:cover;background-position:center 48%;transform:scale(1.06);animation:hero-in 1.8s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,31,26,.65) 0%,rgba(14,31,26,.36) 46%,rgba(14,31,26,.08) 100%),linear-gradient(0deg,rgba(14,31,26,.35),transparent 35%)}.hero-content{position:absolute;top:50%;left:clamp(1.25rem,8vw,9rem);transform:translateY(-43%);max-width:790px}.hero h1{font-size:clamp(4.2rem,8.6vw,9.4rem);letter-spacing:-.055em;line-height:.92;margin:1.5rem 0}.hero h1 em{font-size:.81em;white-space:nowrap}.hero-sub{max-width:470px;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.7;margin-bottom:2.4rem;color:#f2eee6}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:230px;gap:2rem;border:1px solid;padding:.98rem 1.18rem;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-light{color:var(--white);border-color:rgba(255,255,255,.8)}.button-light:hover{background:var(--white);color:var(--ink)}.scroll-cue{position:absolute;bottom:2.3rem;left:clamp(1.25rem,8vw,9rem);display:flex;align-items:center;gap:1.3rem;font-size:.65rem;font-weight:600;letter-spacing:.18em}.scroll-line{width:85px;height:1px;background:rgba(255,255,255,.8);display:block;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;width:40px;height:1px;background:var(--white);left:-40px;animation:line-slide 2s ease-in-out infinite}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,9vw,10rem);align-items:center;max-width:1600px;margin:auto}.intro-copy{max-width:650px}.intro h2{margin:1.5rem 0 2rem}.intro-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.9;max-width:570px}.signature{display:block;margin-top:2rem;font-family:Georgia,serif;font-style:italic;font-size:1.65rem;color:var(--sage)}.intro-logo{justify-self:center;text-align:center;max-width:420px}.intro-logo img{box-shadow:0 20px 60px rgba(56,50,39,.13)}.intro-logo span{display:block;margin-top:1.5rem;font-size:.62rem;letter-spacing:.3em;font-weight:600}.story-grid{background:var(--paper);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.3vw;align-items:start}.story-grid .section-heading{grid-column:1/-1;margin-bottom:1rem}.story-grid h2{margin-bottom:0}.story-card{position:relative;height:min(48vw,690px);overflow:hidden;background:#ced6cc}.story-card.lower{margin-top:7rem}.story-card.third{margin-top:2rem}.story-card img{height:100%;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.story-card:hover img{transform:scale(1.06)}.story-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(14,31,26,.48))}.story-label{position:absolute;z-index:2;left:1.8rem;bottom:1.2rem;color:#fff}.story-label span{font-size:.75rem;letter-spacing:.16em}.story-label h3{margin:.2rem 0 0;font-size:clamp(2rem,3.3vw,4rem)}.quote-band{min-height:440px;background:var(--ink);color:var(--white);text-align:center;padding:6rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.quote-band>p:last-child{font-family:'Italiana',Georgia,serif;font-size:clamp(3rem,6vw,6rem);line-height:1.08;margin:1rem 0 0}.collections{background:var(--cream)}.collections-top{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:3rem}.collections-top h2{margin:1.2rem 0 0}.collections-top>p{max-width:420px;line-height:1.85;font-size:.94rem}.tabs{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:2.5rem}.tab{flex:1;min-width:190px;border:0;background:transparent;color:var(--sage);padding:1.35rem .7rem;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;transition:background .25s,color .25s;position:relative}.tab:hover{background:#eee9df}.tab.active{color:var(--ink)}.tab.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold)}#packagePanel{outline:none;min-height:460px}.panel-intro{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding:0 0 1.8rem}.panel-intro h3{margin:0;font-size:clamp(2.4rem,4vw,4.5rem)}.panel-intro p{max-width:500px;margin:0;font-size:.9rem}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.package-card{border:1px solid var(--line);background:var(--white);padding:2.2rem;min-height:355px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.package-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(36,53,47,.09)}.package-card.featured{background:var(--sea);border-color:var(--sage)}.package-card .kicker{font-size:.66rem;letter-spacing:.2em;color:var(--sage);font-weight:600;text-transform:uppercase}.package-card h4{font-family:'Italiana',Georgia,serif;font-size:2.7rem;font-weight:400;line-height:1;margin:.8rem 0 0}.package-card .package-price{font-family:'Italiana',Georgia,serif;font-size:3.7rem;line-height:1;margin:1.4rem 0}.package-card .package-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;font-weight:600;margin-bottom:1.2rem}.package-card .package-meta span{border-top:1px solid var(--line);padding-top:.6rem;min-width:90px}.package-card p{font-size:.86rem;line-height:1.7;max-width:350px}.package-card button{align-self:flex-start;margin-top:auto;background:none;border:0;border-bottom:1px solid var(--gold);padding:.4rem 0;font-size:.73rem;letter-spacing:.09em;font-weight:600;text-transform:uppercase;color:var(--ink)}.package-card button:hover{color:var(--sage)}.package-note{border-top:1px solid var(--line);margin-top:2.2rem;padding-top:1.5rem;display:flex;gap:1rem;align-items:start}.package-note p{font-size:.83rem;line-height:1.8;margin:0;max-width:800px}.note-star{color:var(--gold);font-size:1.4rem;line-height:1}.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center;background:#e5e9e0}.feature-photo{max-height:750px;overflow:hidden}.feature-photo img{width:100%;height:clamp(550px,55vw,750px);object-fit:cover}.feature-copy{max-width:610px}.feature-copy h2{margin:1.4rem 0 2rem}.feature-copy>p:not(.eyebrow){line-height:1.9}.feature-offer{border-top:1px solid var(--sage);border-bottom:1px solid var(--sage);margin:2.2rem 0;padding:1.2rem 0}.feature-offer span{font-size:.67rem;letter-spacing:.2em;font-weight:600;color:var(--sage)}.feature-offer strong{font-family:'Italiana',Georgia,serif;font-size:4rem;font-weight:400;display:block;line-height:1.1;margin:.4rem 0}.feature-offer p{font-size:.83rem;margin:0}.text-link{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:.4rem}.approach .section-heading{max-width:860px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem}.steps article{border-top:1px solid var(--line);padding-top:1.3rem}.steps article span{font-family:'Italiana',Georgia,serif;font-size:1.8rem;color:var(--gold)}.steps h3{font-size:2.5rem;margin:1.2rem 0}.steps p{font-size:.9rem;line-height:1.85;max-width:360px}.faq{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:4rem}.faq .section-heading h2{margin:1rem 0}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:1.4rem 0}.faq summary{cursor:pointer;list-style:none;position:relative;padding-right:2.5rem;font-size:.95rem;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:-.2rem;font-family:Georgia,serif;font-size:1.5rem;color:var(--sage)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:.85rem;line-height:1.85;max-width:550px;margin:1rem 0 0}.closing{position:relative;min-height:620px;background:linear-gradient(90deg,rgba(16,39,32,.9),rgba(16,39,32,.55)),url('assets/wedding-illustrative.png') center 48%/cover;color:#fff;display:flex;align-items:center;padding:6rem clamp(1.25rem,8vw,9rem)}.closing-content{max-width:850px}.closing h2{margin:1.2rem 0}.closing p:not(.eyebrow){max-width:430px;margin-bottom:2rem}footer{background:#172d26;color:#e6e7db;padding:3.5rem clamp(1.25rem,5vw,6rem) 1.5rem}.footer-top{display:flex;justify-content:space-between;gap:2rem;align-items:start}.footer-top strong{display:block;font-family:'Italiana',Georgia,serif;font-size:1.9rem;font-weight:400;letter-spacing:.09em}.footer-top div span{display:block;font-size:.55rem;letter-spacing:.22em}.footer-top p{font-size:.8rem;line-height:1.8}.footer-top a{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.16);margin-top:3rem;padding-top:1.3rem;font-size:.7rem;color:#c7d0c6}.toast{position:fixed;z-index:300;bottom:2rem;left:50%;transform:translate(-50%,2rem);opacity:0;pointer-events:none;background:var(--ink);color:var(--white);padding:.8rem 1.2rem;font-size:.78rem;box-shadow:0 12px 34px rgba(0,0,0,.2);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;translate:0 32px;transition:opacity .8s ease,translate .8s ease}.reveal.visible{opacity:1;translate:0 0}.hero-content.reveal{translate:0 32px}.hero-content.reveal.visible{translate:0 0}@keyframes hero-in{from{transform:scale(1.12);opacity:.7}to{transform:scale(1.06);opacity:1}}@keyframes line-slide{to{left:100%}}
.package-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.package-grid.four .package-card{padding:1.6rem}.package-grid.four h4{font-size:2.3rem}.package-grid.four .package-price{font-size:3.3rem}
.contact-actions{display:flex;gap:1rem;flex-wrap:wrap}.contact-lines{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.8rem;font-size:.83rem}.contact-lines a{border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.2rem}.footer-contact{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem}.footer-contact span{font-size:.58rem;letter-spacing:.18em;color:#c5cdbf;font-weight:600}.footer-contact a:hover{color:#fff}
@media(max-width:1100px){.site-header nav{display:none}.hero h1{font-size:clamp(4rem,10vw,7rem)}.intro{gap:3rem}.package-grid,.package-grid.four{grid-template-columns:1fr 1fr}.package-grid:not(.four) .package-card:last-child{grid-column:1/-1}.story-card.lower{margin-top:4rem}.faq{gap:2rem}}
@media(max-width:700px){.site-header{height:68px}.wordmark{font-size:.92rem}.wordmark-mark{width:34px;height:34px;font-size:1.1rem}.hero{height:790px;min-height:660px}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(14,31,26,.76),rgba(14,31,26,.35)),linear-gradient(0deg,rgba(14,31,26,.35),transparent 40%)}.hero-content{top:52%;right:1.25rem;transform:translateY(-42%)}.hero h1{font-size:clamp(3.7rem,14vw,6rem)}.hero h1 em{white-space:normal}.hero-sub{font-size:1rem}.intro,.feature,.faq{grid-template-columns:1fr}.intro-logo{max-width:340px}.story-grid{grid-template-columns:1fr 1fr;gap:.9rem}.story-grid .section-heading{margin-bottom:1.5rem}.story-card{height:72vw}.story-card.lower{margin-top:3rem}.story-card.third{margin-top:0;grid-column:1/-1;height:85vw}.story-label{left:1rem;bottom:.8rem}.story-label h3{font-size:2.25rem}.collections-top,.panel-intro{display:block}.collections-top>p,.panel-intro p{margin-top:1rem}.tabs{margin-left:-1.25rem;margin-right:-1.25rem}.tab{min-width:160px}.package-grid,.package-grid.four{grid-template-columns:1fr}.package-grid:not(.four) .package-card:last-child{grid-column:auto}.package-card{min-height:320px}.feature-photo{order:1}.feature-copy{order:2}.feature-photo img{height:110vw;max-height:600px}.steps{grid-template-columns:1fr;gap:1.3rem;margin-top:2rem}.closing{min-height:550px}.footer-top,.footer-bottom{display:block}.footer-top>*{margin-bottom:1.5rem}.footer-bottom>*{display:block;margin-bottom:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;translate:none;transition:none}.hero-image,.scroll-line:after{animation:none}.story-card img,.package-card,.button{transition:none}}

/* Photography website preview, October 28, 2026 */
:root{--preview-h:32px}section[id]{scroll-margin-top:115px}.preview-banner{position:fixed;inset:0 0 auto;z-index:200;min-height:var(--preview-h);background:#e8decc;color:#24352f;display:flex;align-items:center;justify-content:center;padding:6px 12px;text-align:center;font-size:10px;letter-spacing:.07em;font-weight:500}.site-header{top:var(--preview-h)}.hero{margin-top:calc(80px + var(--preview-h));height:720px;min-height:650px;background:#243b31}.hero-image{left:47%;background-image:url('assets/family-beach-real.jpg');background-position:50% 48%;transform:none;animation:none}.hero-shade{background:linear-gradient(90deg,#243b31 0%,#243b31 40%,rgba(36,59,49,.35) 63%,transparent 85%)}.hero-content{left:5vw;max-width:650px;top:50%;transform:translateY(-50%)}.hero h1{font-size:clamp(4.4rem,6.8vw,7.4rem);line-height:1;max-width:650px}.hero h1 em{white-space:normal}.hero-sub{max-width:380px}.hero-caption{margin-top:2rem;font-size:10px;letter-spacing:.18em;color:#e7dbc8}.intro-portrait{margin:0;width:100%;max-width:420px;justify-self:center}.intro-portrait img{width:100%;height:460px;object-fit:cover}.intro-portrait figcaption{padding-top:12px;font-family:Georgia,serif;font-style:italic;color:#73877b;text-align:center}.story-card{display:block}.package-card h4{font-size:2.35rem}.package-card{min-height:390px}.package-card .package-meta{display:block}.package-card .package-meta span{display:block;border:0;padding:.1rem 0}.package-card button{margin-top:auto}.package-grid{row-gap:1.3rem}.package-grid:not(.four) .package-card:last-child{grid-column:auto}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:5vw;background:#e4e9e0}.inquiry h2{font-size:clamp(3.5rem,6vw,6rem)}.inquiry-copy>p:not(.eyebrow){max-width:420px}.inquiry .contact-lines{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;margin-top:2rem}.inquiry .contact-lines a{border-color:#73877b}.contact-person{font-size:.76rem;margin-top:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-grid label{display:flex;flex-direction:column;gap:.4rem;font-size:.76rem;font-weight:500}.form-grid .wide{grid-column:1/-1}input,select,textarea{font:inherit;color:var(--ink);background:rgba(255,253,250,.85);border:1px solid #aeb9ac;border-radius:0;padding:.85rem;width:100%;min-width:0;font-size:.88rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--sage);outline-offset:2px}.inquiry-button{margin-top:1.5rem;background:var(--ink);color:var(--white);border-color:var(--ink)}.form-note{font-size:.72rem;line-height:1.6;margin-top:1rem;max-width:460px}#emailResult{padding:1rem;border:1px solid var(--sage);margin-top:1rem;font-size:.85rem}#emailResult[hidden]{display:none}.photo-credits{font-size:.65rem;margin-top:1rem;color:#c7d0c6}.photo-credits p{max-width:900px}.photo-credits a{text-decoration:underline}.skip-link{position:fixed;top:-100px;left:1rem;background:white;padding:1rem;z-index:400}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.feature-photo img{height:560px;object-position:56% center}.tabs .tab{min-width:150px}.package-card .kicker{min-height:2.4em}.package-grid button{color:var(--ink)}
@media(max-width:1100px){.hero-content{max-width:57%}.hero h1{font-size:clamp(4rem,7.5vw,6rem)}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-image{left:40%}.hero-sub{max-width:330px}.inquiry{gap:2.5rem}}
@media(max-width:700px){:root{--preview-h:42px}.preview-banner{font-size:9px;min-height:42px}.hero{margin-top:110px;height:790px;min-height:0}.hero-image{left:0;inset:0;background-position:50% 38%}.hero-shade{background:linear-gradient(0deg,rgba(17,36,28,.97),rgba(17,36,28,.7) 38%,rgba(17,36,28,.08) 80%)}.hero-content{left:1.25rem;right:1.25rem;max-width:none;top:auto;bottom:2.4rem;transform:none}.hero h1{font-size:clamp(3.8rem,13.5vw,5.5rem);max-width:500px}.hero-sub{max-width:350px}.hero-caption{margin-top:1.5rem}.intro-portrait{max-width:100%}.intro-portrait img{height:125vw;max-height:560px}.package-grid{grid-template-columns:1fr}.package-card{min-height:345px}.inquiry{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.feature-photo img{height:85vw;max-height:520px}.tab{font-size:.66rem}.story-grid .story-card:last-child{grid-column:1/-1;height:100vw;margin-top:0}.story-label h3{font-size:2rem}.footer-bottom{line-height:1.8}}

@media(min-width:701px){.hero h1{font-size:clamp(3.6rem,5.8vw,6rem)}.hero-image{background-position:50% 24%}.hero-content{max-width:54%}.hero-sub{max-width:390px}.hero{height:720px}.hero h1{max-width:650px}}

.direct-contact{display:flex;gap:1.2rem;flex-wrap:wrap;margin:1.5rem 0}.direct-contact .text-link{font-size:.65rem}#emailResult .text-link{display:inline-block;margin:0 1rem .8rem 0}

/* Multiple collections in one inquiry */
.service-picker{border:0;margin:0;padding:0;min-width:0}
.service-picker legend{font-size:.76rem;font-weight:500;padding:0;margin-bottom:.35rem}
#serviceHint{font-size:.76rem;line-height:1.5;margin:0 0 .85rem}
.service-options{display:grid;gap:.6rem}
.form-grid label.service-option{display:flex;flex-direction:row;align-items:center;gap:.8rem;padding:.85rem;background:rgba(255,253,250,.65);border:1px solid #aeb9ac;cursor:pointer}
.service-option:has(input:checked){border-color:var(--ink);background:#f8f5ed;box-shadow:inset 3px 0 var(--ink)}
.service-option input{width:20px;height:20px;flex:0 0 20px;margin:0;padding:0;accent-color:var(--ink);cursor:pointer}
.service-option>span{flex:1;min-width:0}
.service-option strong{display:block;font-family:Georgia,serif;font-size:1rem;font-weight:400;line-height:1.4}
.service-option .service-price{white-space:nowrap;margin-left:.4rem}
.service-option small{display:block;font-size:.61rem;letter-spacing:.05em;line-height:1.5;margin-top:.2rem}
#serviceError{font-size:.78rem;color:#8a2f24;margin:.7rem 0 0}
#serviceError[hidden]{display:none}
