:root{--paper:#f6f3eb;--ink:#343c2d;--olive:#5a624b;--muted:#6d7265;--line:#d9dccf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font:25px Georgia,serif}.brand small{display:block;font:9px Arial;letter-spacing:3px;margin-top:8px}nav{display:flex;gap:30px;font-size:13px}header>div{display:flex;align-items:center;gap:15px}button{cursor:pointer}#language{border:0;background:transparent;font-size:12px}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:16px 25px;border:1px solid var(--ink);font-size:13px}.small{padding:11px 18px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:80px 13% 60px 10%}.eyebrow{font-size:10px;letter-spacing:2.5px;margin:0 0 25px;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.08;margin:0}h1{font-size:clamp(55px,5.9vw,90px);letter-spacing:-3px}em{font-weight:normal;color:var(--olive)}.hero-copy>p:not(.eyebrow){max-width:400px}.hero-copy>.button{margin:20px 0}.text-link{display:block;font-size:13px;text-decoration:underline;text-underline-offset:5px}.languages{font:italic 17px Georgia;margin-top:32px}.hero-photo{position:relative;margin:30px 5% 30px 0}.hero-photo img{width:100%;height:100%;max-height:740px;object-fit:cover;object-position:center 55%;border-radius:220px 220px 0 0}.hero-photo span{position:absolute;bottom:30px;left:30px;color:white;font:italic 24px Georgia;text-shadow:0 1px 8px #000}.ribbon{background:var(--ink);color:var(--paper);padding:23px 15px;text-align:center;font-size:10px;letter-spacing:2px}.section{padding:100px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(40px,4.6vw,65px);letter-spacing:-1.5px}.section-head{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:35px}.section-head>p:last-child{font-size:15px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.services article{border-top:1px solid var(--line);padding-top:25px}.services span{font-size:11px;letter-spacing:2px}.services h3{font-size:31px;margin-top:25px}.services p{color:var(--muted);font-size:15px}.services a{display:inline-block;border-bottom:1px solid var(--olive);font-size:12px;padding:5px 0}.about{background:#e8ebdf;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about img{width:100%;max-height:620px;object-fit:cover;object-position:center 30%;border-radius:220px 220px 0 0}.about p{max-width:460px}.about .text-link{margin-top:30px}.moment{display:grid;grid-template-columns:1.1fr 1fr;align-items:center}.moment img{width:100%;height:620px;object-fit:cover}.moment>div{padding:60px 12%}.moment h2{font-size:clamp(35px,3.7vw,54px)}.process{border-bottom:1px solid var(--line)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:16px}details p{color:var(--muted);font-size:14px}.inquiry{background:var(--ink);color:var(--paper);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%}.inquiry em{color:#c9d0b7}.inquiry>div p:last-child{max-width:400px;color:#d3d9c9;font-size:14px}form label{display:block;margin-bottom:18px}form label span{display:block;font-size:12px;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #78816d;border-radius:0;background:#ffffff08;color:var(--paper);padding:11px;min-width:0;color-scheme:dark}option{background:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form .button{background:var(--paper);color:var(--ink)}#status{font-size:13px}footer{padding:35px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}@media(max-width:850px){nav{display:none}.hero{min-height:0}.hero-copy{padding:55px 8%}h1{font-size:58px}.section-head{display:block}.section-head h2{margin-bottom:20px}.services{gap:25px}.section{padding:65px 6%}.about{gap:6%}.moment img{height:500px}}@media(max-width:600px){header{padding:20px 5%}.brand{font-size:20px}.brand small{font-size:8px;letter-spacing:2px}.small{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:50px 6% 20px}h1{font-size:65px}.hero-photo{margin:20px 6% 30px;height:470px}.hero-photo img{border-radius:180px 180px 0 0;object-position:center 60%}.ribbon{font-size:8px;line-height:2.2}.services,.about,.moment,.faq,.inquiry{grid-template-columns:1fr}.services{gap:35px;margin-top:35px}.about img{height:480px}.about>div{padding-top:35px}.moment img{height:500px}.moment>div{padding:50px 6%}.faq{gap:25px}.inquiry{gap:35px}.form-row{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column;gap:8px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.email-contact{align-self:center}.email-contact .button{background:var(--paper);color:var(--ink)}.email-contact p{overflow-wrap:anywhere}.email-contact p:first-of-type{font-size:16px}.email-contact p:last-child{max-width:390px;font-size:13px;color:#d3d9c9}

.hero-copy{padding-top:55px;padding-bottom:35px}.hero h1{font-size:clamp(45px,4.7vw,70px);letter-spacing:-2px}.hero-definitions{margin-top:30px;max-width:470px;scroll-margin-top:110px}.hero-definitions p{font-size:14px;line-height:1.65;margin:9px 0}.hero-definitions .definition-label{font-size:10px;letter-spacing:2.5px;margin-top:23px;font-weight:bold}.hero-definitions .definition-quote{font:italic 20px/1.4 Georgia,serif;color:var(--olive);margin:17px 0}.hero-photo img{max-height:none}.meaning-link{text-decoration:underline;text-underline-offset:3px}.services p a{font:inherit;display:inline;padding:0;border:0;text-decoration:underline}.hero-photo{min-height:700px}@media(max-width:600px){.hero h1{font-size:53px}.hero-photo{min-height:0;height:470px}.hero-definitions p{font-size:14px}.hero-copy{padding-top:45px}nav{display:none}}

.hero h1{font-size:clamp(42px,4.2vw,64px)}.hero-intro{font-size:16px}.hero-welcome{font-size:14px;color:var(--olive)}.hero-definitions{border-top:1px solid var(--line);padding-top:5px}.hero-definitions p{font-size:13px}.pricing{background:#eeede3;max-width:none}.pricing .price{font:36px Georgia,serif;color:var(--ink);margin:20px 0}.pricing-note{max-width:650px;font-size:14px;margin:35px 0 20px}nav{gap:20px} .hero-photo{align-self:stretch}@media(max-width:600px){.hero h1{font-size:47px}.email-contact .button{max-width:100%}}

/* Full-photo layouts preserve every supplied image's original proportions. */
.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{margin:0;min-height:0;width:100%;position:static}.hero-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}.hero-copy{padding:55px 7% 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:14px 7%;align-items:start}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-intro,.hero-copy>.hero-welcome,.hero-copy>.button,.hero-copy>.languages{grid-column:1}.hero-copy .hero-definitions{grid-column:2;grid-row:1 / span 6;margin-top:0;max-width:none}.hero-copy>.button{justify-self:start}.hero-copy>p:not(.eyebrow){max-width:none}.hero-copy>.languages{margin-top:0}.about img,.moment img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}.moment{align-items:center}.photo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.photo-gallery figure{margin:0}.photo-gallery img{display:block;width:100%;height:auto;object-fit:contain}.photo-gallery figcaption{font:italic 17px/1.5 Georgia,serif;margin-top:18px;color:var(--olive)}@media(max-width:850px){.hero-copy{display:flex;flex-direction:column;gap:8px}.hero-copy .hero-definitions{order:8;margin-top:20px}.hero-copy>.button{align-self:flex-start}.hero-copy>.languages{margin-top:8px}.hero-photo{height:auto;min-height:0;margin:0}.hero-photo img{height:auto;border-radius:0;max-height:none}.photo-gallery{gap:25px}}@media(max-width:600px){.hero-photo{height:auto;min-height:0}.hero-copy{padding:35px 6% 45px}.about img,.moment img{height:auto;max-height:none}.photo-gallery{grid-template-columns:1fr}.photo-gallery figure{max-width:100%}}
