@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600&display=swap');
:root{--paper:#f7f4ed;--ink:#263c32;--muted:#60675c;--gold:#a78950;--line:#dcd9cc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:1.35rem/1.8 var(--sans)}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:0}.announcement{text-align:center;font-size:0.92813rem;letter-spacing:.11em;background:var(--ink);color:#f3eddd;padding:9px 20px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 5.4%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:1.0969rem;letter-spacing:.15em;line-height:1.5}.brand small{display:block;font-size:0.675rem;letter-spacing:.18em;margin-top:5px}.brand-mark{width:37px;height:45px;display:grid;place-items:center;border:1px solid #b9ab85;border-radius:50% 50% 0 0;font:3.2063rem var(--serif);color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:1.0125rem}nav a:hover{color:var(--gold)}.nav-cta{border-bottom:1px solid var(--gold);padding:8px 0}.nav-cta span{margin-left:18px}.wrap{max-width:1160px;margin:auto;padding:100px 32px}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:6%;max-width:1440px;padding:68px 5.4% 70px;margin:auto;align-items:center}.eyebrow{display:block;font-size:0.84375rem;letter-spacing:.19em;line-height:1.7;font-weight:600;color:#877441;margin-bottom:24px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3.8813rem,6.345vw,6.075rem)}em{font-weight:400;color:#7c825e}h1 em{display:block}h2{font-size:clamp(3.0375rem,4.455vw,4.3031rem);margin-bottom:28px}h3{font-size:2.4469rem;margin-bottom:18px}p{margin-bottom:19px;color:var(--muted);font-size:1.1813rem}strong{font-weight:600}.hero h2{font:500 1.9406rem/1.3 var(--serif);letter-spacing:0;margin:24px 0 17px}.hero-copy>p{max-width:410px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:54px;padding:15px 23px;background:var(--ink);color:#fffdf5;font:500 1.0125rem/1.4 var(--sans);border:1px solid var(--ink);cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#405644;transform:translateY(-2px)}.button span{font-size:1.6875rem}.hero .button{margin-top:10px}.hero-meta{font-size:0.84375rem;line-height:1.9;margin-top:18px;color:var(--muted)}.hero-image{height:650px;position:relative;overflow:hidden;border-radius:46% 46% 0 0;background:#d6d0bb}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:49% center}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(20,32,25,.65))}.hero-image figcaption{position:absolute;z-index:1;bottom:37px;left:36px;color:#fff7e6}.hero-image figcaption span{display:block;font-size:0.75938rem;letter-spacing:.19em;margin-bottom:13px}.hero-image figcaption i{font:italic 2.9531rem/1.05 var(--serif)}.intro{text-align:center;border-top:1px solid var(--line);max-width:1096px;padding:72px 100px}.intro .lead{font:2.3625rem/1.45 var(--serif);color:var(--ink);margin-bottom:24px}.intro .lead strong{font-weight:500}.intro>p:last-child{max-width:690px;margin:auto}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:70px}.story-art{background:#e8e7db;min-height:480px;padding:52px 30px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.story-art .eyebrow{font-size:0.75938rem}.notes{font:5.0625rem var(--serif);display:flex;gap:28px;justify-content:center;color:#9c8b60;z-index:1}.notes span{transform:translateY(12px)}.staff{height:45px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 9px,#b9bb9e 10px,transparent 11px);position:absolute;left:0;right:0;top:140px;opacity:.45;transform:rotate(-9deg)}blockquote{margin:45px 0 30px;font:italic 2.5312rem/1.25 var(--serif)}.story-art small{font-size:0.59063rem;letter-spacing:.15em}.process{background:var(--ink);color:#f7f2e6}.process .eyebrow{color:#c0ac7e}.process em{color:#c1c6a3}.section-heading{margin-bottom:64px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.step-number{display:block;border-top:1px solid #657268;padding-top:20px;margin-bottom:35px;font:italic 2.1938rem var(--serif);color:#c0ac7e}.steps h3{font-size:2.2781rem}.steps p{font-size:1.0125rem;color:#c7d0c6}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:10%}.inclusions ul{list-style:none;padding:0;margin:0 0 28px}.inclusions li{padding:15px 0 15px 29px;position:relative;border-bottom:1px solid var(--line);font-size:1.0969rem}.inclusions li:before{content:'✧';position:absolute;left:0;color:var(--gold)}.small{font-size:0.92813rem}.holiday{background:#eae8dc}.holiday-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;align-items:center}.invitation{aspect-ratio:.78;background:#f8f4e7;border:1px solid #b9a16e;outline:8px solid #f8f4e7;box-shadow:8px 18px 40px #233c3214;transform:rotate(-5deg);padding:34px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.invitation small{font-size:0.675rem;letter-spacing:.17em}.invitation>span{font:3.7969rem/1.03 var(--serif)}.invitation b{font-size:0.675rem;font-weight:400;letter-spacing:.18em}.invite-rule{width:35px;border-top:1px solid #b9a16e}.composer{display:grid;grid-template-columns:.65fr 1.35fr;gap:13%;align-items:center}.composer-label{text-align:center}.monogram{margin:0 auto 24px;border:1px solid #b5aa8a;border-radius:50% 50% 0 0;width:160px;height:180px;display:grid;place-items:center;font:italic 5.5688rem var(--serif);color:#9b8e64}.composer-label h3{font-size:2.3625rem}.composer-label p{font-size:0.92813rem}.investment{background:#e6e8de}.investment-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.price{border-left:1px solid #bdc2b2;padding-left:45px}.price .eyebrow{margin-bottom:8px}.price-number{font:5.4rem var(--serif);margin-bottom:12px;letter-spacing:-.04em}.price-number small{font:italic 2.025rem var(--serif);letter-spacing:0}.price>p{font-size:1.0125rem}.price .button{width:100%;margin-top:8px}.price .booking-status{font-size:0.84375rem;margin-top:10px;margin-bottom:0}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:22px 0;font-size:1.0969rem;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font:2.025rem var(--serif);color:var(--gold)}details[open] summary span{transform:rotate(45deg)}details p{font-size:1.0125rem;padding-right:26px}.closing{text-align:center;border-top:1px solid var(--line);padding-top:85px;padding-bottom:100px}.closing h2{font-size:clamp(3.375rem,5.67vw,5.2313rem)}.closing .small{margin-top:20px}footer{border-top:1px solid var(--line);padding:35px 5.4%;display:flex;justify-content:space-between;align-items:center;gap:24px}footer>span,footer>a:last-child{font-size:0.84375rem}dialog{max-width:480px;width:calc(100% - 40px);border:1px solid var(--gold);background:var(--paper);color:var(--ink);padding:45px}dialog::backdrop{background:#15271dd0}.close{position:absolute;right:14px;top:10px;background:none;border:0;font:2.5312rem var(--sans);color:var(--ink);cursor:pointer}.mobile-booking{display:none}
@media(min-width:1500px){.hero-image{height:710px}}@media(max-width:1000px){nav{gap:18px}nav>a:not(.nav-cta){display:none}.hero{gap:5%;padding-top:45px}.hero-image{height:570px}h1{font-size:4.4719rem}.wrap{padding:76px 30px}.intro{padding:60px 70px}.steps{grid-template-columns:1fr 1fr;gap:30px}.step-number{margin-bottom:20px}.holiday-inner{gap:10%}.invitation>span{font-size:3.0375rem}.price{padding-left:28px}.price-number{font-size:4.5563rem}.faq{grid-template-columns:1fr;gap:20px}.faq h2{margin-bottom:10px}}
@media(max-width:680px){html{scroll-padding-top:25px}.announcement{font-size:0.75938rem;padding:8px 10px;letter-spacing:.03em}.announcement span{display:block}header{padding:20px 22px}.brand{font-size:0.84375rem;gap:9px;letter-spacing:.1em}.brand small{font-size:0.50625rem}.brand-mark{width:29px;height:35px;font-size:2.5312rem}.nav-cta{font-size:0.84375rem}.nav-cta span{display:none}.hero{display:flex;flex-direction:column;padding:39px 24px 45px;gap:34px;align-items:stretch}.eyebrow{font-size:0.675rem;letter-spacing:.15em;margin-bottom:20px}h1{font-size:3.9656rem;line-height:1.03}.hero h2{font-size:1.9406rem;margin-top:20px}.hero-copy>p{font-size:1.0969rem}.hero .button{width:100%}.hero-meta{text-align:center}.hero-image{height:430px;border-radius:45% 45% 0 0}.hero-image img{object-position:50% center}.hero-image figcaption{bottom:25px;left:25px}.hero-image figcaption i{font-size:2.6156rem}.wrap{padding:59px 24px}.intro .lead{font-size:2.1938rem}.intro p{font-size:1.0969rem}.story{display:flex;flex-direction:column-reverse;gap:27px}.story-art{width:100%;min-height:385px}.staff{top:120px}.story-art blockquote{font-size:2.4469rem}h2{font-size:3.2063rem}p{font-size:1.0969rem}.section-heading{margin-bottom:32px}.steps{grid-template-columns:1fr;gap:18px}.steps article{display:grid;grid-template-columns:38px 1fr;column-gap:12px}.step-number{grid-row:1/4;border:none;padding-top:0;margin-top:3px;font-size:2.1094rem}.steps h3{font-size:2.4469rem}.steps p{font-size:1.0969rem}.steps article+article{border-top:1px solid #526457;padding-top:25px}.inclusions,.holiday-inner,.composer,.investment-inner{grid-template-columns:1fr;gap:30px}.inclusions>div>p{margin-bottom:0}.inclusions ul{margin-top:-10px}.holiday-inner{display:flex;flex-direction:column-reverse;gap:43px}.invitation{width:75%;max-width:280px}.invitation>span{font-size:3.2906rem}.composer-label{order:2;display:grid;grid-template-columns:100px 1fr;text-align:left;column-gap:22px;border-top:1px solid var(--line);padding-top:25px}.composer-label .eyebrow{display:none}.monogram{grid-row:1/3;width:100px;height:115px;font-size:3.7969rem;margin:0}.composer-label h3{align-self:end;font-size:2.1938rem;margin-bottom:9px}.composer-label p{margin-bottom:0}.price{border-left:0;border-top:1px solid #bdc2b2;padding:28px 0 0}.price-number{font-size:5.2313rem}.faq h2{font-size:3.1219rem}.closing h2{font-size:3.375rem}.closing .button{width:100%}footer{flex-wrap:wrap;padding:28px 24px 100px}footer .brand{width:100%}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;background:#f7f4edf5;padding:11px 16px calc(11px + env(safe-area-inset-bottom));z-index:5;border-top:1px solid var(--line)}.mobile-booking .button{width:100%;min-height:46px}dialog{padding:38px 25px}dialog h2{font-size:2.8688rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original Musicolor Method brand and founder photography */
.header-right{display:flex;align-items:center;gap:30px}.musicolor-badge{background:#233c32;padding:12px;width:190px;flex-shrink:0}.musicolor-badge img{display:block;width:100%;height:auto}.composer-photo{margin:0 auto 22px;width:100%;max-width:310px}.portrait-frame{height:350px;overflow:hidden;border-radius:45% 45% 0 0;background:#ddd3b9}.portrait-frame img{display:block;width:190%;max-width:none;height:auto;transform:translate(-2%,-1%)}.composer-photo figcaption{font-size:0.75938rem;color:var(--muted);margin-top:9px;letter-spacing:.05em}.footer-musicolor{display:flex;align-items:center;gap:20px}.footer-musicolor>span{font-size:0.84375rem}.footer-musicolor .musicolor-badge{width:175px}
@media(max-width:1000px){.header-right{gap:18px}.header-right .musicolor-badge{width:165px;padding:10px}}
@media(max-width:680px){header{flex-wrap:wrap;gap:14px}.header-right{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.header-right .musicolor-badge{width:155px}.header-right nav{margin-left:auto}.composer-label{display:flex;flex-direction:column;text-align:center;gap:0}.composer-photo{max-width:290px;margin-bottom:20px}.portrait-frame{height:325px}.composer-label h3{align-self:center}.footer-musicolor{gap:15px}.footer-musicolor .musicolor-badge{width:155px}}

/* Personal capacity for the January 2027 start */
.capacity-note{border-left:2px solid var(--gold);padding-left:14px;font-size:0.92813rem;line-height:1.7;margin:20px 0 0;max-width:390px}.capacity-note strong{color:var(--ink);font-weight:600}.price .capacity-note{font-size:0.92813rem;margin:0 0 22px}.hero-meta{margin-top:14px}

/* Black framing lets the white Musicolor logo blend into its surroundings. */
.announcement,header,footer{background:#000;color:#f7f4ed}
header,footer{border-color:#292929}
header .musicolor-badge,footer .musicolor-badge{background:transparent}
header .brand small,footer .brand small,.footer-musicolor>span{color:#c9c9c3}
header nav a:hover,footer a:hover{color:#d6bf8b}
header .nav-cta{border-color:#a78950}
@media(max-width:680px){header .header-right{border-color:#292929}}

.andrew-link{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.andrew-link:hover{color:#877441}.musicolor-badge{display:block}

/* Readable layouts for the larger type scale. */
.hero{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}
.hero-copy>p{max-width:500px}.hero-meta{font-size:.84375rem}
.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 44px}
.steps h3{overflow-wrap:break-word}.price .button{gap:14px;padding-left:16px;padding-right:16px}
.invitation{min-height:480px;gap:22px}.hero-image figcaption{right:25px}
header .brand{flex-shrink:0}footer{flex-wrap:wrap}
@media(max-width:1350px){nav>a:not(.nav-cta){display:none}.header-right{gap:22px}}
@media(max-width:680px){.steps{grid-template-columns:1fr}.steps article{grid-template-columns:44px minmax(0,1fr)}.invitation{width:90%;max-width:320px;min-height:420px;padding:30px 16px}.header-right{gap:14px}.header-right nav{min-width:0}.nav-cta{line-height:1.5}.button{gap:14px}.closing h2,h1,h2{overflow-wrap:break-word}.hero-image figcaption{left:24px;right:24px}.story-art{padding-left:20px;padding-right:20px}.footer-musicolor{flex-wrap:wrap}.mobile-booking .button{min-height:54px}footer{padding-bottom:120px}}
.brand-mark{width:50px;height:61px}
@media(max-width:680px){.brand-mark{width:39px;height:47px}}
@media(max-width:380px){.notes{font-size:3.75rem;gap:10px}}
