@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Oswald:wght@500;600&display=swap");
:root{--cream:#f2eee8;--paper:#fbf9f5;--ink:#181513;--muted:#6e6964;--gold:#9d7845;--line:#d9d2c9;--wine:#4d171e;--error:#9a2626;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.55}::selection{background:var(--wine);color:#fff}a{color:inherit;text-underline-offset:.25em}button,input,textarea,select{font:inherit}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.7rem 1rem;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.join-header{height:7rem;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid rgba(24,21,19,.16);background:var(--cream)}.join-brand{font-family:Oswald,sans-serif;font-size:1.55rem;font-weight:600;line-height:1;letter-spacing:.08em;text-decoration:none}.join-brand small{display:block;margin-top:.38rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.42rem;letter-spacing:.43em}.join-header nav{display:flex;align-items:center;gap:clamp(1.1rem,3vw,3rem)}.join-header nav a{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.header-login{padding:.75rem 1rem;border:1px solid var(--ink)}
.join-hero{min-height:calc(100vh - 7rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.75fr);position:relative;overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem);background:var(--wine);color:#f9f3ec}.hero-script{margin:0 0 -1.3rem;font:italic clamp(2.7rem,6vw,6.5rem)/1 "Cormorant Garamond",serif;color:#c9a77a;opacity:.55;transform:translateX(-.5rem)}.hero-copy h1{position:relative;margin:0;max-width:10ch;font:500 clamp(3.4rem,7.2vw,7.5rem)/.88 "Cormorant Garamond",serif;letter-spacing:-.035em;text-wrap:balance}.hero-copy>p:not(.hero-script){max-width:43rem;margin:2rem 0 2.5rem;color:#ddcfd0;font-size:clamp(1rem,1.35vw,1.2rem)}.hero-copy>a{align-self:flex-start;padding:.9rem 0;border-bottom:1px solid #c9a77a;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.hero-copy>a span{display:inline-block;margin-left:1.5rem;transition:transform .3s var(--ease)}.hero-copy>a:hover span{transform:translateY(.35rem)}.hero-portrait{position:relative;margin:0;min-height:40rem;background:#28211e}.hero-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 20%;filter:saturate(.78) contrast(1.04)}.hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,12,10,.6))}.hero-portrait figcaption{position:absolute;z-index:1;right:2.4rem;bottom:2rem;left:2.4rem;color:#fff;font:italic 1.5rem "Cormorant Garamond",serif}.hero-portrait figcaption span{display:block;margin-bottom:.35rem;font:600 .65rem "Helvetica Neue",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.hero-note{position:absolute;z-index:2;right:calc(37.5% - 2rem);bottom:5rem;width:18rem;padding:1.5rem;background:var(--paper);box-shadow:0 20px 50px rgba(20,10,8,.18)}.hero-note strong,.hero-note span{display:block}.hero-note strong{font:500 1.25rem/1.1 "Cormorant Garamond",serif}.hero-note span{margin-top:.6rem;color:var(--muted);font-size:.7rem}
.join-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem);padding:clamp(5rem,10vw,10rem) max(5vw,calc((100vw - 78rem)/2));background:var(--paper)}.join-intro h2,.aftercare h2{margin:0;font:500 clamp(3rem,6vw,6rem)/.92 "Cormorant Garamond",serif;letter-spacing:-.035em}.join-intro>div{max-width:37rem;padding-top:1rem}.join-intro p{margin:0 0 1.25rem;color:var(--muted);font-size:1rem}
.application-shell{display:grid;grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);background:var(--cream);border-top:1px solid var(--line)}.form-aside{padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5.5rem);background:#e7dfd5}.aside-sticky{position:sticky;top:2rem}.form-kicker{margin:0 0 1.2rem;color:var(--gold);font-size:.67rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.form-aside h2{margin:0;max-width:10ch;font:500 clamp(2.7rem,4.8vw,5rem)/.9 "Cormorant Garamond",serif;letter-spacing:-.03em}.form-aside>div>p:not(.form-kicker){max-width:28rem;margin:1.4rem 0 3rem;color:var(--muted);font-size:.85rem}.step-list{list-style:none;margin:0;padding:0;border-top:1px solid #c9bfb4}.step-list li{display:flex;gap:1rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid #c9bfb4;color:#8b837c;transition:color .3s}.step-list li>span{font:italic 1.4rem "Cormorant Garamond",serif}.step-list strong,.step-list small{display:block}.step-list strong{font:500 .78rem "Helvetica Neue",Arial,sans-serif;letter-spacing:.04em}.step-list small{margin-top:.2rem;font-size:.67rem}.step-list li.is-active,.step-list li.is-complete{color:var(--ink)}.step-list li.is-active>span{color:var(--wine)}.privacy-note{display:flex;gap:.7rem;align-items:center;margin-top:2rem;color:var(--muted);font-size:.68rem}.privacy-note svg{width:1.1rem;fill:none;stroke:var(--gold);stroke-width:1.5}
.join-form{min-width:0;padding:clamp(3rem,7vw,7rem) clamp(1.5rem,7vw,8rem);background:var(--paper)}.form-step{margin:0;padding:0;border:0;animation:reveal .55s var(--ease)}.form-step legend{display:flex;align-items:baseline;gap:1rem;width:100%;margin:0;padding:0;font:500 clamp(2.5rem,5vw,4.8rem)/1 "Cormorant Garamond",serif;letter-spacing:-.03em}.form-step legend span{font:italic 1rem "Helvetica Neue",Arial,sans-serif;color:var(--gold)}.step-intro{max-width:45rem;margin:1.2rem 0 1.4rem;color:var(--muted)}.form-rules{display:grid;gap:.25rem;margin:0 0 3.2rem;padding:1rem 1.15rem;border-left:3px solid var(--gold);background:#f5f0e9;color:var(--muted);font-size:.7rem}.form-rules strong{color:var(--ink);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem}.field-wide{grid-column:1/-1}.field-stack{display:grid;gap:2rem}label>span:not(.upload-icon){display:block;margin-bottom:.65rem;font-size:.72rem;font-weight:600;letter-spacing:.04em}label b{color:var(--wine)}input,textarea,select{width:100%;padding:.85rem 0;border:0;border-bottom:1px solid #a9a198;border-radius:0;outline:0;background:transparent;color:var(--ink);transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:6rem}input:focus,textarea:focus,select:focus{border-color:var(--wine);box-shadow:0 2px 0 var(--wine)}input::placeholder,textarea::placeholder{color:#77706a;opacity:1}.is-invalid{border-color:var(--error)!important;box-shadow:0 2px 0 var(--error)!important}.field-error{display:block;margin-top:.35rem;color:var(--error);font-size:.68rem}.form-status{display:none;margin:0 0 2rem;padding:1rem 1.2rem;background:#efe4d9;color:var(--wine);font-size:.8rem}.form-status.is-visible{display:block}.photo-help{display:flex;justify-content:space-between;gap:1rem;margin:-1rem 0 2rem;padding:1rem 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem}.photo-help strong{color:var(--ink)}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.upload-tile{position:relative;min-height:11rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border:1px dashed #aaa096;background:#f5f1eb;text-align:center;cursor:pointer;overflow:hidden;transition:background .25s,border-color .25s}.upload-tile:hover,.upload-tile:focus-within{border-color:var(--wine);background:#eee7df}.upload-tile input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:.75rem;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:1.2rem}.upload-tile strong{font:500 .75rem "Helvetica Neue",Arial,sans-serif}.upload-tile small{margin-top:.25rem;color:var(--muted);font-size:.65rem}.upload-tile.has-file{border-style:solid;border-color:var(--gold);background-size:cover;background-position:center}.upload-tile.has-file::after{content:"";position:absolute;inset:0;background:rgba(250,247,242,.86)}.upload-tile.has-file>*{position:relative;z-index:1}.source-field{display:block;margin-top:2.2rem}.consents{display:grid;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}.consents label{display:grid;grid-template-columns:1.1rem 1fr;gap:.75rem;align-items:start;color:var(--muted);font-size:.72rem;cursor:pointer}.consents input{width:1rem;height:1rem;margin:.18rem 0 0;accent-color:var(--wine)}.consents label>span{margin:0;font-weight:400;letter-spacing:0}.form-nav{display:flex;align-items:center;gap:1rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}.form-nav button{min-width:8.5rem;padding:.9rem 1.2rem;border:1px solid var(--ink);cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.button-back{background:transparent;color:var(--ink)}.button-next,.button-submit{margin-left:auto;background:var(--ink);color:#fff}.step-count{color:var(--muted);font-size:.68rem}.button-submit[disabled]{opacity:.55;cursor:wait}.validation-dialog{width:min(34rem,calc(100% - 2rem));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(24,10,10,.3)}.validation-dialog::backdrop{background:rgba(24,21,19,.66);backdrop-filter:blur(3px)}.validation-dialog__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.4rem;background:var(--wine);color:#fff}.validation-dialog__head p{margin:0;font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.validation-dialog__head button{width:2rem;border:0;background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.validation-dialog h2{margin:1.5rem 1.5rem .5rem;font:500 2rem/1 "Cormorant Garamond",serif}.validation-dialog>p{margin:.5rem 1.5rem;color:var(--muted);font-size:.8rem}.validation-dialog ul{max-height:16rem;overflow:auto;margin:1rem 1.5rem;padding-left:1.2rem;color:var(--error);font-size:.78rem}.validation-dialog li+li{margin-top:.45rem}.validation-dialog__action{margin:0 1.5rem 1.5rem;padding:.8rem 1rem;border:0;background:var(--ink);color:#fff;cursor:pointer;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.aftercare{display:grid;grid-template-columns:.35fr 1fr .7fr;gap:clamp(2rem,6vw,6rem);align-items:end;padding:clamp(5rem,10vw,10rem) max(5vw,calc((100vw - 78rem)/2));background:var(--wine);color:#f8f0e9}.after-mark{margin:0;font:500 clamp(6rem,14vw,13rem)/.7 Oswald,sans-serif;color:#6d3037}.aftercare h2{max-width:8ch}.aftercare div p{max-width:42rem;color:#d8c8c7}.aftercare>a{justify-self:end;padding-bottom:.6rem;border-bottom:1px solid #bd9363;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.join-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,4vw,4.5rem);background:var(--ink);color:#eee8e0;font-size:.68rem}.join-footer>a{font:600 1.35rem Oswald,sans-serif;letter-spacing:.1em;text-decoration:none}.join-footer div{display:flex;gap:1.5rem}.join-footer span{justify-self:end;color:#948c85}
@keyframes reveal{from{opacity:.01;transform:translateY(1.2rem);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:900px){.join-header{height:5.5rem}.join-header nav>a:not(.header-login){display:none}.join-hero{min-height:auto;grid-template-columns:1fr}.hero-copy{min-height:39rem}.hero-portrait{min-height:32rem}.hero-note{right:1.25rem;bottom:29rem}.join-intro,.application-shell{grid-template-columns:1fr}.form-aside{padding-bottom:2.5rem}.aside-sticky{position:static}.step-list{display:grid;grid-template-columns:repeat(3,1fr)}.step-list li{align-items:flex-start}.step-list small{display:none}.privacy-note{display:none}.aftercare{grid-template-columns:.3fr 1fr}.aftercare>a{grid-column:2;justify-self:start}.join-footer{grid-template-columns:1fr auto}.join-footer div{display:none}}
@media(max-width:600px){.join-header{padding-inline:1.1rem}.join-brand{font-size:1.2rem}.header-login{padding:.62rem .7rem}.hero-copy{min-height:35rem;padding:5rem 1.25rem}.hero-copy h1{font-size:3.65rem}.hero-copy>p:not(.hero-script){font-size:.9rem}.hero-portrait{min-height:29rem}.hero-note{right:1rem;bottom:27rem;width:15rem}.join-intro{padding-inline:1.25rem}.join-intro h2{font-size:3.4rem}.form-aside,.join-form{padding:3.5rem 1.25rem}.step-list li{gap:.35rem}.step-list strong{font-size:.63rem}.field-grid{grid-template-columns:1fr;gap:1.5rem}.field-wide{grid-column:auto}.upload-grid{grid-template-columns:1fr 1fr}.upload-tile{min-height:9rem}.photo-help{display:block}.photo-help span{display:block;margin-top:.35rem}.form-nav{flex-wrap:wrap}.step-count{order:-1;width:100%}.form-nav button{min-width:7rem}.aftercare{grid-template-columns:1fr;padding-inline:1.25rem}.after-mark{display:none}.aftercare>a{grid-column:1}.join-footer{padding-inline:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
