@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f4f0e7;--stone:#e7e2d7;--ink:#292d27;--muted:#62665c;--brass:#8a7048;--line:#c9c5b9;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(55px,7.5vw,114px);margin:0 0 25px}h2{font-size:clamp(42px,4.4vw,67px);margin-bottom:30px}h3{font-size:20px;font-weight:500;line-height:1.3}em{font-family:Georgia,serif;font-weight:400;font-size:.85em;color:var(--brass)}p{margin-bottom:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:2px}header{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.logo{font:36px/1 var(--serif);letter-spacing:.15em}.logo small{display:block;font:8px var(--sans);letter-spacing:.15em;margin-top:9px}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-cta{border-bottom:1px solid;padding:10px 0}nav a:hover,.text-link:hover{color:var(--brass)}.hero{background:linear-gradient(90deg,rgba(16,23,20,.77),rgba(16,23,20,.2)),url('./photos/hero.jpg') center 48%/cover;color:white;min-height:670px;padding:30px 5% 0;display:flex;flex-direction:column;justify-content:space-between}.hero-label,.hero-foot{display:flex;justify-content:space-between;gap:25px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em}.hero-content{padding:68px 0 50px}.hero em{color:#e7d5ae}.hero p{font-size:17px;line-height:1.6}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-size:11px;text-transform:uppercase;letter-spacing:.08em;min-height:51px;cursor:pointer;border-radius:0}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button:hover{background:#484e40;color:white}.button:disabled{opacity:.6;cursor:wait}.text-link{font-size:12px;border-bottom:1px solid;padding:8px 0;display:inline-block}.hero-foot{border-top:1px solid #ffffff50;padding:17px 0;font-size:8px;letter-spacing:.18em}.section{padding:85px 5%}.intro,.partners,.location,.faq,.booking{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro>div:last-child{max-width:530px}.intro p:not(.lead):not(.eyebrow){color:var(--muted)}.lead{font-size:22px;line-height:1.5}.events{padding-top:0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.event-card{padding:25px 28px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.event-card:hover{background:var(--stone)}.number{font-size:10px;color:var(--brass)}.event-card h3{font:30px var(--serif);margin:30px 0 10px}.event-card p{font-size:11px;color:var(--muted);padding-right:18px}.arrow{position:absolute;right:25px;bottom:30px;font-size:20px}.pricing{background:var(--ink);color:var(--paper)}.pricing em,.pricing .eyebrow{color:#c5ac7d}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.rate{padding:28px;border:1px solid #565e4f;border-right:0}.rate:last-child{border-right:1px solid #565e4f;background:#353c2e}.rate p{font-size:13px}.rate h3{font:49px var(--serif);margin:10px 0 3px}.rate>span{font-size:8px;letter-spacing:.14em;color:#c4c7bd}.rate .text-link{display:block;margin-top:34px}.small{font-size:11px;line-height:1.65;color:var(--muted)}.price-note{color:#c7cbbe;max-width:920px;margin:25px 0 0}.price-note strong{color:var(--paper)}.partners{background:var(--stone)}.partners ul{padding-left:17px;margin:30px 0}.partners li{margin-bottom:12px;font-size:13px}.form-panel{background:var(--paper);padding:30px;border-top:2px solid var(--brass)}.form-panel>h3,.booking>div>h3{font:32px var(--serif)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.inquiry label{display:block;font-size:11px;margin-bottom:15px}.inquiry input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;margin-top:6px;border:1px solid #c1c1b5;background:transparent;color:var(--ink);padding:11px 9px;min-height:44px;border-radius:0;font-size:13px}textarea{resize:vertical}.inquiry output{display:block;padding:14px;margin:0 0 22px;background:#e0e4d7;border-left:2px solid #7b866c;font-size:12px}.inquiry output.error{border-color:#933c2b;background:#f3e3dc}fieldset{border:0;padding:0;margin:0 0 15px}legend{font-size:11px;margin-bottom:8px}.inquiry .check{display:flex;align-items:center;gap:8px;margin-bottom:10px}.check input{width:17px;height:17px;accent-color:var(--ink)}.trap{position:absolute;left:-10000px}.status{font-size:13px;margin:15px 0 0;white-space:pre-line}.status.success{padding:17px;background:#dfe5d5}.status.error{color:#873b29}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.steps>div>span{display:block;font:42px var(--serif);color:var(--brass);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.steps h3{font-size:16px}.steps p{font-size:13px;color:var(--muted)}.gallery{padding-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}figure{margin:0;min-width:0}figure img{width:100%;height:290px;object-fit:cover;display:block}figcaption{display:flex;gap:15px;font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}figcaption span{color:var(--brass);font-size:10px}.placeholder{height:290px;background:var(--stone);display:grid;place-content:center;font-size:10px;letter-spacing:.15em}.location{background:#e2e6da}address{font-style:normal;font-size:22px;margin:25px 0}.stl{font:112px/1 var(--serif);letter-spacing:-.07em;color:#aeb99e;display:block;border-bottom:1px solid #bcc6af;padding-bottom:25px;margin-bottom:25px}.location p:not(.lead):not(.eyebrow){color:var(--muted);font-size:14px}details{border-bottom:1px solid var(--line);padding:19px 0}details:first-child{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1.2;color:var(--brass)}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);margin:15px 20px 0 0}.booking{background:var(--stone)}.booking>div:first-child>p{max-width:400px}.book-address{margin-top:55px;padding-top:25px;border-top:1px solid var(--line)}.book-address>span{font:32px var(--serif);letter-spacing:.15em}.book-address p{font-size:12px;margin-top:15px}.book-address a{display:block}footer{padding:45px 5%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-logo{font:55px var(--serif);letter-spacing:.14em}footer span{font-size:9px;letter-spacing:.15em}footer p,footer>a:last-child{font-size:11px;margin:5px 0 0}.skip{position:absolute;top:-100px;left:15px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.section,header,.hero,footer{padding-left:max(5%,calc((100% - 1350px)/2));padding-right:max(5%,calc((100% - 1350px)/2))}}@media(max-width:1000px){nav{gap:20px}.rate{padding:22px 17px}.rate h3{font-size:42px}.partners,.booking{gap:5%}.form-panel{padding:22px}.fields{gap:12px}figure img{height:230px}.steps{gap:22px}}@media(max-width:700px){header{padding:22px 6%}.logo{font-size:29px}.logo small{font-size:6px}nav>a:not(.nav-cta){display:none}nav{font-size:10px}.hero{padding:25px 6% 0;min-height:620px;background-position:60% center}.hero-label .eyebrow{font-size:8px}.hero-label span:last-child{max-width:80px;text-align:right}.hero-content{padding:50px 0 40px}h1{font-size:clamp(47px,11.7vw,76px)}.hero p{font-size:15px}.actions{flex-wrap:wrap;gap:20px 25px}.actions .button{width:100%}.hero-foot{font-size:7px}.hero-foot span{max-width:145px}.section{padding:58px 6%}.intro,.partners,.location,.faq,.booking{grid-template-columns:1fr;gap:30px}h2{font-size:43px}.intro h2,.faq h2{margin-bottom:0}.lead{font-size:20px}.events{padding-top:0}.event-grid{grid-template-columns:1fr 1fr}.event-card{padding:20px 16px}.event-card h3{font-size:25px}.event-card p{font-size:10px;min-height:40px;padding-right:6px}.arrow{bottom:14px;right:15px}.section-head{display:block}.section-head>p{font-size:14px}.rate-grid{grid-template-columns:1fr 1fr}.rate:nth-child(2){border-right:1px solid #565e4f}.rate:nth-child(n+3){border-top:0}.rate h3{font-size:39px}.rate p{font-size:12px}.rate .text-link{font-size:11px}.price-note{font-size:10px}.form-panel{padding:24px 17px}.fields{gap:12px}.inquiry input:not([type=checkbox]),select,textarea{font-size:16px}.inquiry .button{width:100%}.steps{grid-template-columns:1fr 1fr;gap:28px 22px}.steps h3{font-size:15px}.steps p{font-size:12px}.gallery{padding-top:0}.gallery-grid{grid-template-columns:1fr;gap:25px}figure img{height:auto;aspect-ratio:4/3}.gallery .section-head .text-link{margin-top:-10px}.stl{font-size:88px}.book-address{margin-top:25px}footer{flex-wrap:wrap;padding:38px 6%}.footer-logo{font-size:42px}footer>a:last-child{width:100%}.small{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-name{font-size:clamp(88px,13vw,185px);letter-spacing:.08em;line-height:1;margin-bottom:12px}.hero-subhead{font-size:clamp(29px,3vw,47px);letter-spacing:-.02em;margin-bottom:22px}.occasions{padding-top:0}.occasions>article{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;margin-bottom:70px}.occasions>article:nth-child(2){direction:rtl}.occasions>article>div{direction:ltr}.occasions img{width:100%;height:390px;object-fit:cover}.occasion-pair{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);padding-top:50px}.occasion-pair p{max-width:470px}@media(max-width:700px){.hero-name{font-size:clamp(77px,21vw,135px)}.hero-subhead{font-size:28px;line-height:1.3}.occasions>article,.occasion-pair{grid-template-columns:1fr;gap:30px}.occasions img{height:auto;aspect-ratio:4/3}.occasions>article:nth-child(2){direction:ltr}.occasions>article{margin-bottom:45px}.occasion-pair{gap:40px}}
/* Photography: documentary sources and clearly labeled concepts. */
.concept-hero{background:var(--ink);display:grid;grid-template-columns:.78fr 1.22fr;min-height:0;padding:0;color:var(--paper);gap:0}.concept-hero .hero-label{grid-column:1/-1;padding:22px 5%;border-bottom:1px solid #ffffff25}.concept-hero .hero-content{padding:40px 9% 45px 12%;align-self:center}.concept-hero .hero-name{font-size:clamp(64px,7.3vw,118px);letter-spacing:.025em}.concept-hero .hero-subhead{font-size:clamp(28px,3vw,44px)}.concept-hero .hero-content p{font-size:15px}.concept-hero .actions{flex-wrap:wrap;gap:12px 22px}.hero-visual{padding:28px 5% 26px 0}.hero-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.hero-visual figcaption{color:#e3dbc9;border-color:#ffffff25}.hero-visual figcaption strong{color:#d8c39e}.hero-visual figcaption a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.concepts{background:#e9e2d5}.concepts .section-head p{max-width:400px;font-size:14px}.concept-disclosure{font-size:12px;color:var(--muted);margin:0 0 35px}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 32px}.concept-card:first-child{grid-column:1/-1;max-width:100%}.concept-card:first-child>figure img{max-height:none}.concept-card>figure img,.gallery figure img,.occasions figure img{height:auto;aspect-ratio:4/3;object-fit:contain}.concept-card figure img{display:block;width:100%}.concept-card figcaption,.gallery figcaption,.occasions figcaption,.hero-visual figcaption{display:flex;flex-direction:column;gap:3px;line-height:1.5;padding:12px 0}.concept-card figcaption strong,.gallery figcaption strong,.occasions figcaption strong,.hero-visual figcaption strong{font:600 9px var(--sans);letter-spacing:.12em}.concept-card figcaption span,.gallery figcaption span,.occasions figcaption span,.hero-visual figcaption span{font-size:11px;color:inherit}.concept-copy{padding-top:22px}.concept-copy h3{font:35px var(--serif);margin-bottom:10px}.concept-copy p{font-size:13px;margin-bottom:10px}.photo-compare{padding:15px 0}.photo-compare summary{font-size:12px;font-weight:500}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:18px}.comparison img{width:100%;height:auto!important;aspect-ratio:4/3;object-fit:contain!important}.comparison figcaption{font-size:9px;letter-spacing:.06em}.source-note{font-size:10px!important}.clean-heading{border-top:1px solid var(--line);padding-top:45px;margin-top:60px}.clean-heading h3{font:34px var(--serif)}.clean-heading p{max-width:640px;font-size:13px}.gallery-grid{align-items:start}.concept-card .text-link{margin-top:14px}.concepts .concept-card:first-child{display:grid;grid-template-columns:1.5fr 1fr;gap:0 32px}.concept-card:first-child>figure{grid-row:1/5}.concept-card:first-child .concept-copy{align-self:end}.occasions>article>figure{direction:ltr}
@media(max-width:1000px){.concept-hero{grid-template-columns:1fr}.concept-hero .hero-content{padding:38px 6% 26px}.concept-hero .hero-name{font-size:clamp(72px,12vw,118px)}.hero-visual{padding:0 6% 25px}.concept-hero .hero-content p{max-width:470px}.concept-hero .actions .button{width:auto}.concepts .concept-card:first-child{display:block}.concept-card:first-child>figure{grid-row:auto}}
@media(max-width:700px){.concept-grid{grid-template-columns:1fr;gap:45px}.concept-hero .hero-label{padding:20px 6%}.concept-hero .hero-content{padding-top:30px}.concept-hero .hero-name{font-size:21vw}.concept-hero .hero-subhead{font-size:31px}.concept-hero .hero-label span:last-child{max-width:none}.hero-visual{padding-left:0;padding-right:0}.hero-visual figcaption{margin:0 6%}.concepts .section-head h2{font-size:42px}.comparison{grid-template-columns:1fr}.concepts .concept-card:first-child{grid-column:auto}.concept-copy h3{font-size:31px}.gallery .photo-compare .comparison{grid-template-columns:1fr}}
