@font-face{font-family:AnaScript;src:url('assets/fonts/pinyon-script.ttf') format('truetype');font-display:swap;font-weight:400}
:root{--page-gutter:clamp(20px,5vw,80px);--content-width:1200px}
html{overflow-x:clip}body{overflow-x:clip}img,video{max-width:100%}input,select,textarea{max-width:100%;min-width:0}header .header-actions{flex-shrink:0}
.home-page .hero-photo{object-position:85% center;transform:translateX(-2vw)}
.home-page .hero-copy{top:clamp(80px,12svh,145px);left:50%;transform:translateX(-50%);width:min(80vw,1050px);padding:0;margin:0}
.home-page .artist-lockup{display:block;text-align:center;margin:0;max-width:100%}
.home-page .hero .artist-name{font-family:AnaScript,Georgia,cursive;font-size:clamp(70px,10vw,160px);font-weight:400;line-height:1.15;white-space:nowrap;margin:0}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-family:AnaScript,Georgia,cursive;font-size:clamp(29px,4.1vw,65px);line-height:1.25;white-space:nowrap;margin:8px 0 0;text-align:center}
.home-page .landing-networks{left:50%;transform:translateX(-50%);border:0}
#menu{background:#000!important}#menu:not([hidden]){justify-content:center;align-items:center;gap:clamp(9px,2svh,20px);padding:85px 20px 35px}
#menu a{font-family:AnaScript,Georgia,cursive;font-size:clamp(29px,4.5vw,57px);line-height:1.3;letter-spacing:0;text-align:center}
.hospitality-page,.booking-page{background:#080808;color:#fff}
.hospitality-page header,.booking-page header{height:82px;box-sizing:border-box;position:relative;padding:18px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;background:#080808}
.hospitality-page .header-actions,.booking-page .header-actions{margin-left:auto}
.hospitality-page .private-editorial{min-height:calc(100svh - 82px);height:auto;padding:20px var(--page-gutter) 35px;display:flex;align-items:center}
.private-composition{width:100%;max-width:var(--content-width);margin-inline:auto;min-width:0}
.private-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#fff;border-bottom:1px solid #ffffff30;font-size:9px;letter-spacing:.19em;margin-bottom:22px;padding-bottom:15px}
.private-heading p{color:#fff}
.private-cinema{width:100%;height:auto;aspect-ratio:16/7;max-height:48svh;background:#000;overflow:hidden}
.private-cinema video,.private-cinema img{display:block;width:100%;height:100%;object-fit:cover;max-height:none}
.private-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,90px);align-items:start;margin-top:28px}
.private-title-block h1,.wedding-copy h1{font-family:AnaScript,Georgia,cursive;font-size:clamp(43px,5.2vw,76px);line-height:1.18;font-weight:400;letter-spacing:0;margin:0}
.private-title-block em,.wedding-copy em{font-style:normal;color:#fff}
.private-details{min-width:0}.private-details>p,.wedding-description{font-size:clamp(13px,1.15vw,16px);line-height:1.85;text-align:justify;text-align-last:left;hyphens:auto;color:#d4d4d4;max-width:none}
.private-action{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-color:#ffffff30;padding-top:15px;margin-top:20px}
.private-action>span{color:#aaa;font-size:9px}.private-action>a{color:#fff;white-space:nowrap}
.hospitality-page .wedding-layout{min-height:calc(100svh - 82px);height:auto;width:100%;max-width:var(--content-width);padding:25px var(--page-gutter) 35px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(25px,6vw,90px);align-items:center}
.wedding-copy{min-width:0}.wedding-description{margin-top:25px}.wedding-settings{color:#ccc;line-height:1.8}.wedding-video{min-width:0;display:flex;justify-content:center}.wedding-video video{width:auto;max-width:100%;height:70svh;max-height:700px;aspect-ratio:9/16;object-fit:contain}
.booking-page .booking-signature{left:calc(var(--page-gutter) + 44px);top:15px;max-width:calc(100% - 170px)}
.booking-name,.booking-tagline{font-family:AnaScript,Georgia,cursive}.booking-name{font-size:44px;line-height:1.05}.booking-tagline{font-size:21px;line-height:1.2}
.booking-page .contact-page-content{min-height:calc(100svh - 82px);height:auto;padding:25px var(--page-gutter) 40px;display:grid;place-items:center}
.booking-page .booking{display:block;width:100%;max-width:720px;padding:0;margin:auto}
.booking-page #booking-form{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.booking-page .booking-date-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.booking-page #booking-form label{min-width:0}.booking-page #booking-form .wide{grid-column:1/-1}.booking-page #booking-form input,.booking-page #booking-form select{width:100%;height:50px;min-width:0}.booking-page #booking-form textarea{width:100%;resize:vertical}
@media(max-width:700px){
.home-page .hero-photo{object-position:88% center;transform:none}
.home-page .hero-copy{top:80px;left:50%;width:88vw;padding:0}
.home-page .hero .artist-name{font-size:clamp(55px,16.7vw,105px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(24px,7.4vw,43px);margin-top:7px}
.hospitality-page header,.booking-page header{height:76px;padding-block:15px}
.hospitality-page .private-editorial{min-height:calc(100svh - 76px);padding-top:12px;align-items:flex-start}
.private-heading{gap:8px;font-size:7px;line-height:1.6;margin-bottom:15px}
.private-cinema{aspect-ratio:16/9;max-height:none}
.private-story{grid-template-columns:1fr;gap:20px;margin-top:24px}
.private-title-block h1,.wedding-copy h1{font-size:clamp(39px,9vw,60px);line-height:1.2}
.private-details>p,.wedding-description{font-size:14px;line-height:1.8}
.hospitality-page .wedding-layout{grid-template-columns:1fr;gap:25px;min-height:calc(100svh - 76px);padding-top:20px}
.wedding-video video{height:auto;max-height:65svh;width:min(65vw,300px)}
.booking-page .contact-page-content{padding-top:20px;min-height:calc(100svh - 76px)}
.booking-page #booking-form{gap:17px 14px}.booking-page .booking-date-time{gap:14px}
.booking-name{font-size:35px}.booking-tagline{font-size:17px}.booking-page .booking-signature{top:16px}
.booking-page .header-book{display:none}
}
@media(max-width:360px){.home-page .hero-copy{top:74px}.booking-name{font-size:30px}.booking-tagline{font-size:15px}.private-action{gap:10px}}
@media(max-height:520px) and (min-width:701px){.home-page .hero-copy{top:50px}.home-page .hero .artist-name{font-size:75px}.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:30px}.private-cinema{max-height:55svh}.wedding-video video{height:65svh}}
/* Center the signature as one composition on the landing. */
.home-page .hero-copy{top:50%;left:50%;transform:translate(-50%,-50%)}
@media(max-width:700px){.home-page .hero-copy{top:50%;left:50%;transform:translate(-50%,-50%)}}
@media(max-height:520px) and (min-width:701px){.home-page .hero-copy{top:50%}}

.home-page .hero-copy>.artist-lockup>.artist-tagline{animation-delay:2s;animation-timing-function:ease-out}
.home-page .hero .artist-name{color:#fff}

/* Only the initial K uses a bespoke copperplate glyph. */
.kastro-capital{display:inline-block;width:1.05em;height:.66em;vertical-align:-.025em;overflow:visible;margin-left:-.06em;margin-right:-.28em}
/* Signature centered in the clear space to the artist's left. */
.home-page .hero-photo{object-position:78% center;transform:translateX(2vw)}
.home-page .hero-copy{top:50%;left:25%;width:44vw;max-width:760px;transform:translate(-50%,-50%);padding:0}
.home-page .hero .artist-name{font-size:clamp(38px,6.8vw,110px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(20px,3.3vw,52px)}
@media(max-width:700px){
.home-page .hero-photo{object-position:83% center;transform:translateX(3vw)}
.home-page .hero-copy{left:24%;top:44%;width:42vw;transform:translate(-50%,-50%)}
.home-page .hero .artist-name{font-size:clamp(26px,7.5vw,52px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(14px,3.7vw,26px);margin-top:8px}
}

.home-page .hero-copy{top:61%;width:46vw}
.home-page .hero .artist-name{font-size:clamp(42px,7.6vw,124px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(22px,3.7vw,58px)}
@media(max-width:700px){.home-page .hero-copy{top:57%;width:45vw}.home-page .hero .artist-name{font-size:clamp(28px,8.2vw,58px)}.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(15px,4.05vw,29px)}}
.home-page .hero-copy{top:72%;left:25%;width:48vw}
.home-page .hero .artist-name{font-size:clamp(46px,8.2vw,134px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(24px,4vw,64px)}
@media(max-width:700px){.home-page .hero-copy{top:69%;left:24%;width:46vw}.home-page .hero .artist-name{font-size:clamp(30px,8.8vw,62px)}.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(16px,4.35vw,31px)}}
.home-page .hero-copy{left:29%;width:51vw}
.home-page .hero .artist-name{font-size:clamp(50px,8.8vw,144px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(26px,4.3vw,69px)}
@media(max-width:700px){.home-page .hero-copy{left:28%;width:49vw}.home-page .hero .artist-name{font-size:clamp(32px,9.4vw,66px)}.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(17px,4.65vw,33px)}}
.home-page .hero-copy{left:33%;width:54vw}
.home-page .hero .artist-name{font-size:clamp(54px,9.4vw,154px)}
.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(28px,4.6vw,74px)}
@media(max-width:700px){.home-page .hero-copy{left:32%;width:52vw}.home-page .hero .artist-name{font-size:clamp(34px,10vw,70px)}.home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(18px,4.95vw,35px)}}

/* Mobile landing: centre the lockup below Ana's elbow. */
@media(max-width:700px){
 .home-page .hero-copy{top:73%;left:50%;width:90vw;max-width:none;transform:translateX(-50%);text-align:center}
 .home-page .hero-copy .artist-lockup{width:100%;text-align:center}
 .home-page .hero-copy .music-accent{color:#c6b67a}
}

.home-page .hero-copy .music-accent{color:#c6b67a}

/* Increase mobile landing typography while preserving the centred position. */
@media(max-width:700px){
 .home-page .hero .artist-name{font-size:clamp(44px,13.5vw,92px)}
 .home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(24px,6.7vw,46px)}
}

@media(max-width:700px){
 .home-page .hero-copy{width:96vw}
 .home-page .hero .artist-name{font-size:clamp(60px,19vw,126px)}
 .home-page .hero-copy>.artist-lockup>.artist-tagline{font-size:clamp(30px,9.4vw,64px)}
}

/* The custom K must match the white lettering, independent of inherited text colour. */
.home-page .artist-name .kastro-capital{color:#fff!important;opacity:1;filter:none}
.home-page .artist-name .kastro-capital path{stroke:#fff!important}
.home-page .artist-name .kastro-capital path:not([fill="none"]){fill:#fff!important}
