:root{--page:#f6f2ec;--cream:#eee6df;--blush:#ddcfca;--blush-light:#ebe0d8;--ink:#242220;--muted:#756f68;--line:#d8cbc2;--sand:#c5ad93;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:var(--page);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1380px,calc(100% - 108px));margin-inline:auto}.sr-only{position:absolute;clip:rect(0 0 0 0);height:1px;width:1px;overflow:hidden;white-space:nowrap}.skip-link{position:absolute;z-index:100;background:var(--ink);color:white;padding:12px 18px;top:-100px;left:12px}.skip-link:focus{top:8px}.overline{font-size:10px;letter-spacing:.27em;font-weight:700;line-height:1.6;margin:0 0 22px;color:#655e57}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}h2{font-size:clamp(39px,4vw,66px);line-height:1.06;margin-bottom:22px}h2 em,h1 em{font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #775f49;outline-offset:3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:16px 23px;text-decoration:none;border:1px solid var(--ink);text-transform:uppercase;font-size:10px;letter-spacing:.18em;font-weight:700;min-height:52px;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:16px;letter-spacing:0}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#51473e}.small-rule{width:52px;height:1px;background:var(--ink);margin:32px 0 25px}.section-space{padding-block:108px}.section-compact{padding-block:28px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,242,236,.965);backdrop-filter:blur(16px);border-bottom:1px solid #dcd3ca}.nav-bar{height:85px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font:400 clamp(23px,2.45vw,33px)/1 var(--serif);letter-spacing:-.045em;text-decoration:none;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:clamp(15px,2.3vw,38px)}.main-nav>a{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.16em;text-decoration:none;white-space:nowrap}.main-nav>a:not(.nav-cta):hover,.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.main-nav .nav-cta{border:1px solid var(--ink);background:var(--ink);color:white;padding:15px 20px;display:flex;align-items:center;gap:18px}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:var(--blush);isolation:isolate}.hero-inner{min-height:540px;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:0}.hero-copy{position:relative;z-index:2;padding:58px 0 54px}.hero h1{font-size:clamp(74px,7.35vw,124px);line-height:.9;white-space:nowrap;margin:0}.hero h1 em{font-style:italic}.hero-tagline{font-size:12px;line-height:2;letter-spacing:.32em;margin-bottom:38px}.hero-art{height:540px;position:relative;isolation:isolate}.album-photo img{width:100%;height:100%;object-fit:contain}.hero-open{position:absolute;width:103%;height:72%;right:-12%;bottom:-1%;transform:none;z-index:1}.hero-cover{position:absolute;width:57%;height:91%;right:9%;top:1.5%;transform:none;z-index:2;filter:drop-shadow(18px 20px 16px rgba(68,46,38,.08))}.hero-stamp{position:absolute;right:0;bottom:9%;z-index:3;font:italic 20px/1.05 var(--serif);letter-spacing:-.035em;color:#52453f;text-align:right;transform:rotate(-9deg)}.hero-edge{height:0}
.selection-band{background:#f6f2ec;border-bottom:1px solid var(--line);padding-block:42px}.selection-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(35px,6vw,90px);align-items:center}.choose-col .overline,.impact-col .overline{margin-bottom:20px}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:28px}.swatch-option{border:0;background:transparent;text-align:left;padding:0;min-width:0}.swatch-img{display:block;position:relative;overflow:hidden;background:transparent;border:0;transition:border-color .2s,transform .2s;aspect-ratio:1.65/1}.swatch-img img{width:100%;height:100%;object-fit:cover}.swatch-option[aria-pressed="true"] .swatch-img{outline:none}.swatch-option:hover .swatch-img{transform:translateY(-3px)}.swatch-label{display:flex;align-items:center;justify-content:center;gap:11px;font-size:10px;font-weight:700;letter-spacing:.23em;padding-top:13px}.dot{width:16px;height:16px;border-radius:50%;border:1px solid #b6a99d}.black-dot{background:#262323}.beige-dot{background:#d4bea5}.impact-col{padding:16px 0 20px clamp(38px,4vw,66px);border-left:1px solid var(--line)}.impact-line{display:flex;align-items:center;gap:30px}.impact-line strong{font:400 clamp(100px,9vw,154px)/.95 var(--serif);letter-spacing:-.10em;white-space:nowrap}.impact-line strong span{font-size:.62em;margin-left:5px}.impact-line p{padding-left:30px;border-left:1px solid var(--line);font-size:11px;letter-spacing:.21em;line-height:2.15;margin:0;white-space:nowrap}
.services{background:var(--page);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services>.container>.overline{margin-bottom:17px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.service{display:flex;align-items:center;gap:18px;min-width:0;padding:13px 30px;border-left:1px solid var(--line)}.service:first-child{border-left:none;padding-left:0}.service svg{width:40px;height:40px;stroke:currentColor;stroke-width:1.3;fill:none;flex-shrink:0}.service h3{font-size:10px;letter-spacing:.2em;font-weight:700;margin:0 0 7px;white-space:nowrap}.service p{font-size:10px;letter-spacing:.12em;color:#9b9089;text-transform:uppercase;margin:0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:41px}.section-head h2{margin:0}.section-head p:last-child{color:var(--muted);font-size:14px;max-width:280px;margin:0}.gallery-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:18px}.gallery-item{margin:0;min-width:0}.gallery-main{grid-row:span 2}.gallery-item .album-photo{background:var(--blush);overflow:hidden;height:calc(100% - 48px)}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item.gallery-main img{object-fit:cover}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center;height:48px;padding:8px 2px;font-size:10px;font-weight:700;letter-spacing:.16em}.gallery-item figcaption span{color:#8e827b}.gallery-item:not(.gallery-main) .album-photo{height:255px}.gallery-main .album-photo{min-height:530px}
.cause-section{background:var(--blush-light)}.cause-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.cause-grid p:not(.overline){max-width:360px;color:#6c6057;font-size:15px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:9px;border-bottom:1px solid var(--ink);text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.19em;margin-top:13px}.cause-right{display:flex;align-items:center;justify-content:center;gap:30px}.giant-ten{font:400 clamp(130px,14vw,225px)/1 var(--serif);letter-spacing:-.11em;white-space:nowrap}.giant-ten small{font-size:.55em;margin-left:8px}.cause-right>div{border-left:1px solid #b9a69a;padding-left:30px}.cause-right>div>p{font-size:11px!important;font-weight:700;color:var(--ink)!important;letter-spacing:.15em;line-height:2.0!important}.cause-note{max-width:240px;display:block;color:#71665d;font-size:12px;line-height:1.7}
.packages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package{min-height:332px;border:1px solid var(--line);padding:31px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s}.package:hover{border-color:#918074}.package-id{font-size:10px;letter-spacing:.17em;font-weight:700;color:#a38e7e}.package h3{font:400 clamp(28px,3vw,43px)/1.1 var(--serif);letter-spacing:-.05em;margin:27px 0 10px}.package p{font-size:14px;color:var(--muted)}.package-price{font-size:12px;color:#75695f;margin-top:auto;margin-bottom:16px}.package-link{font-size:10px;text-transform:uppercase;text-decoration:none;font-weight:700;letter-spacing:.13em;border-bottom:1px solid var(--ink);padding-bottom:9px;display:flex;align-items:center;gap:22px}.package-link:hover{gap:30px}
.contact-section{background:#e9ded5}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-intro{color:var(--muted);font-size:15px}.contact-links{display:grid;gap:15px;margin-top:35px}.contact-links a{font-size:15px;text-decoration:none;width:max-content;max-width:100%;overflow-wrap:anywhere}.contact-links a:hover{text-decoration:underline;text-underline-offset:4px}form{min-width:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{min-width:0;margin-bottom:19px}.field label{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}.field input,.field select,.field textarea{width:100%;border:1px solid #bcb0a7;border-radius:0;background:rgba(255,255,255,.35);padding:14px 13px;min-height:49px;color:var(--ink);font-size:14px;outline-offset:1px}.field textarea{min-height:91px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#93857c}.consent{display:flex;align-items:start;gap:11px;margin:4px 0 25px}.consent input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin:2px 0}.consent label{font-size:12px;line-height:1.7;color:#625951}.consent label a{text-underline-offset:2px}.submit-btn{min-width:245px}.form-hint{font-size:11px;color:#776d64;margin:12px 0 0}
.footer{background:#24211f;color:#f6f2ec;padding:40px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-bottom:40px}.footer-brand{font:400 30px var(--serif);letter-spacing:-.06em}.footer-nav{display:flex;flex-wrap:wrap;gap:26px}.footer-nav a{font-size:10px;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}.footer-bottom{border-top:1px solid #514c46;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#bfb1a5;font-size:10px;letter-spacing:.12em}
@media(max-width:1180px){.container{width:min(100% - 64px,1380px)}.brand{font-size:26px}.nav-bar{gap:20px}.main-nav{gap:18px}.main-nav>a{font-size:9px;letter-spacing:.10em}.hero h1{font-size:clamp(64px,7.5vw,100px)}.hero-inner{min-height:510px}.hero-art{height:510px}.service{gap:12px;padding:13px 12px}.service h3{font-size:9px;letter-spacing:.12em}.service p{font-size:9px}.impact-line p{font-size:10px;padding-left:18px}.impact-line{gap:18px}.impact-col{padding-left:25px}.cause-grid,.contact-grid{gap:55px}}
@media(max-width:850px){.container{width:calc(100% - 38px)}.site-header{position:sticky}.nav-bar{height:73px}.main-nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--page);padding:10px 20px 22px;box-shadow:0 20px 30px #00000013;border-bottom:1px solid var(--line)}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav>a{padding:15px 5px;font-size:11px;border-bottom:1px solid var(--line)}.main-nav .nav-cta{margin-top:12px;justify-content:center}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:transparent;border:1px solid #92857b;width:43px;height:39px}.menu-toggle span{height:1.5px;width:21px;background:var(--ink);display:block}.hero-inner{grid-template-columns:1fr;min-height:0}.hero-copy{padding:60px 0 10px}.hero h1{font-size:clamp(68px,12vw,112px)}.hero-art{height:390px}.hero-open{width:78%;right:0;bottom:-8%}.hero-cover{width:39%;right:13%;top:-2%}.selection-grid{grid-template-columns:1fr 1fr;gap:22px}.impact-col{padding-left:22px}.impact-line{display:block}.impact-line p{margin-top:18px}.services-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}.service:nth-child(odd){border-left:none;padding-left:0}.section-space{padding-block:80px}.gallery-main .album-photo{min-height:420px}.gallery-item:not(.gallery-main) .album-photo{height:170px}.cause-grid,.contact-grid{gap:40px}.giant-ten{font-size:105px}.cause-right{gap:15px}.cause-right>div{padding-left:18px}}
@media(max-width:620px){html{scroll-padding-top:76px}.container{width:calc(100% - 34px)}.nav-bar{height:69px}.main-nav{top:69px}.brand{font-size:25px}.overline{font-size:9px}.hero-copy{padding:45px 0 10px}.hero h1{font-size:clamp(58px,14.4vw,87px)}.hero-tagline{font-size:10px;letter-spacing:.2em;margin-bottom:22px}.small-rule{margin:23px 0 18px}.hero .button{width:100%;gap:20px}.hero-art{height:300px;margin:0 -10px}.hero-open{width:100%;height:78%;right:-8%;bottom:-7%}.hero-cover{width:49%;right:13%;top:1%;height:92%}.hero-stamp{font-size:13px;bottom:5%;right:5%}.selection-band{padding:27px 0}.selection-grid{grid-template-columns:1fr;gap:30px}.choose-col .overline,.impact-col .overline{margin-bottom:16px}.swatches{gap:14px}.swatch-label{font-size:9px}.impact-col{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.impact-line{display:flex;gap:15px}.impact-line strong{font-size:92px}.impact-line p{margin:0;padding-left:20px;font-size:9px;line-height:2.05}.services{padding:24px 0}.service{gap:10px;padding:14px 8px!important}.service svg{width:30px;height:30px}.service h3{font-size:9px;letter-spacing:.07em;white-space:normal}.service p{font-size:9px;line-height:1.5;letter-spacing:.04em}.section-space{padding:64px 0}h2{font-size:clamp(38px,10vw,56px)}.section-head{display:block;margin-bottom:27px}.section-head p:last-child{margin-top:15px;font-size:13px}.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-main{grid-row:auto}.gallery-main .album-photo{min-height:0;aspect-ratio:1.38/1}.gallery-item:not(.gallery-main) .album-photo{height:auto;aspect-ratio:1.55/1}.gallery-item figcaption{height:33px;font-size:9px}.cause-grid{grid-template-columns:1fr;gap:30px}.cause-right{justify-content:flex-start}.giant-ten{font-size:105px}.cause-right>div{max-width:225px}.packages-grid{grid-template-columns:1fr;gap:13px}.package{min-height:230px;padding:24px}.package h3{margin:19px 0 7px;font-size:32px}.contact-grid{grid-template-columns:1fr;gap:38px}.field-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:15px}.submit-btn{width:100%}.footer-top{display:block;padding-bottom:22px}.footer-nav{margin-top:19px;gap:15px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.image-disclaimer{font-size:11px;letter-spacing:.035em;color:var(--muted);margin:25px 0 0}

/* Interactive sections retain the reference's warm paper and ink palette. */
.hero{background:#e9ddd4}.hero-open{z-index:3}.hero-cover{z-index:1}
.main-nav a[aria-current="location"]{text-decoration:underline;text-underline-offset:6px}
.swatch-option[aria-pressed="true"] .dot{outline:2px solid var(--ink);outline-offset:3px}
.service{text-decoration:none}.service:hover h3{text-decoration:underline;text-underline-offset:4px}.service p{color:#756b63}
.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.detail-card{border-top:1px solid var(--line);padding:25px 0;scroll-margin-top:100px}.detail-card h3{font:400 32px var(--serif)}.detail-card p{color:#655e57;max-width:55ch}.service-details{padding-bottom:0}.cause-steps{padding-left:20px;line-height:1.8;color:#655e57}.cause-steps li{margin-bottom:10px}
.booking-note{font-size:14px;line-height:1.7;border-left:2px solid #756b63;padding-left:15px}.submit-btn:disabled{opacity:.65;cursor:wait;transform:none}
.gallery-open{display:block;width:100%;border:0;padding:0;cursor:zoom-in}.gallery-visible{overflow:hidden}
#gallery-dialog{width:min(1000px,94vw);max-height:92dvh;padding:20px;border:1px solid var(--line);background:var(--page);color:var(--ink)}
#gallery-dialog::backdrop{background:rgba(24,20,17,.8)}.lightbox-toolbar,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.lightbox-toolbar p{margin:0;font-size:14px}.lightbox-controls{margin-top:16px}.lightbox-controls button,#gallery-close{border:1px solid var(--line);background:var(--page);color:var(--ink);padding:10px;min-height:44px}#gallery-image{width:100%;height:min(65dvh,650px);object-fit:contain;margin-top:16px}#gallery-count{white-space:nowrap;font-size:12px}
@media(max-width:620px){.details-grid{grid-template-columns:1fr}.hero-open{bottom:0}.lightbox-controls button{font-size:12px}.lightbox-toolbar p{font-size:12px}}
/* Compact landing: the complete album composition and color controls share the first view. */
:root{--page:#f7f1e9;--blush:#eee4db;--blush-light:#eee3d8}
.site-header{background:rgba(244,235,226,.97)}
.hero{background:linear-gradient(110deg,#f0e7de,#e9ddd4)}
.hero-inner{min-height:0;grid-template-columns:.85fr 1.15fr}
.hero-copy{padding:30px 0}
.hero h1{font-size:clamp(64px,6.5vw,100px)}
.hero .overline{margin-bottom:18px}
.hero .small-rule{margin:24px 0 18px}
.hero-tagline{margin-bottom:24px;font-size:11px}
.hero-art{height:clamp(330px,50svh,460px);margin:0}
.hero-cover{inset:0;width:100%;height:100%;filter:none}
.selection-band{background:#f5ece3;padding-block:20px}
.selection-grid>*{min-width:0}
.choose-col .overline,.impact-col .overline{margin-bottom:12px}
.swatches{max-width:420px;gap:20px}
.swatch-img{height:105px;aspect-ratio:auto}
.swatch-img img{object-fit:contain;mix-blend-mode:multiply}
.swatch-label{padding-top:9px}
.impact-col{padding-block:0}
.impact-line strong{font-size:100px}
.impact-line p{white-space:normal}
.impact-col .text-link{margin-top:6px;padding-bottom:4px}
.sr-only{left:0;top:0}
@media(min-width:621px) and (max-width:850px){
 .hero-inner{grid-template-columns:1fr 1.1fr}.hero h1{font-size:clamp(52px,7.5vw,64px)}
 .hero-art{height:330px}.hero-tagline{font-size:9px;letter-spacing:.2em}
 .hero .button{padding:12px;gap:12px;font-size:9px}
 .impact-line{display:flex;gap:15px}.impact-line strong{font-size:78px}.impact-line p{margin-top:0;font-size:8px;padding-left:12px}
}
@media(max-width:620px){
 .hero-inner{grid-template-columns:1fr}.hero-copy{padding:22px 0 8px}
 .hero h1{font-size:clamp(48px,12vw,64px)}.hero .overline{margin-bottom:10px}
 .hero .small-rule{margin:14px 0 10px}.hero-tagline{font-size:9px;line-height:1.7;margin-bottom:12px}
 .hero .button{min-height:44px;padding:12px 16px}.hero-art{height:clamp(175px,26svh,230px)}
 .selection-band{padding-block:16px}.selection-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .swatches{max-width:none}.swatch-img{height:75px}.swatch-label{padding-top:8px;min-height:30px}
 .impact-col{padding:20px 0 0}.impact-line{gap:12px}.impact-line strong{font-size:92px}.impact-line p{padding-left:12px;font-size:8px}
}

/* Let the hero album fill the panel and cross its lower edge like the reference. */
main{overflow-x:clip}
.hero{overflow:visible;z-index:2}
.hero-copy{padding-block:20px 18px}
.hero .overline{margin-bottom:12px}
.hero .small-rule{margin-block:18px 14px}
.hero-tagline{margin-bottom:18px}
.hero-art{height:clamp(330px,44svh,410px)}
.hero-cover{transform:translate(1%,5%) scale(1.3);transform-origin:center;z-index:4}
.selection-band{position:relative;z-index:1}
.impact-col{padding-top:30px}
@media(min-width:621px) and (max-width:850px){
 .hero-art{height:310px}
 .hero-cover{transform:translate(0,5%) scale(1.2)}
 .impact-col{padding-top:22px}
}
@media(max-width:620px){
 .hero-copy{padding-block:18px 6px}
 .hero-art{height:clamp(165px,23svh,205px)}
 .hero-cover{transform:translate(0,5%) scale(1.15)}
 .impact-col{padding-top:20px}
}

/* Three cover finishes. */
.swatches{grid-template-columns:repeat(3,minmax(0,1fr));max-width:570px}
.gray-dot{background:#777574}
@media(max-width:620px){
 .swatches{gap:8px}.swatch-label{letter-spacing:.12em}
}
