@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--ivory:#f4f0e8;--paper:#fbf9f4;--ink:#251f1b;--brown:#5c4639;--champagne:#c9b89c;--line:rgba(37,31,27,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav-wrap{height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:center;line-height:.9;letter-spacing:.22em}.brand span{font-family:Italiana,serif;font-size:30px}.brand small{font-size:9px;margin-top:7px}.nav-wrap nav{display:flex;gap:28px;align-items:center;font-size:13px}.nav-wrap nav>a:not(.nav-cta):after,.text-link:after{content:"";display:block;width:0;height:1px;background:currentColor;transition:.3s}.nav-wrap nav>a:hover:after,.text-link:hover:after{width:100%}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;cursor:pointer}.nav-cta:hover,.dark{background:var(--ink);color:var(--paper)}.button:hover{transform:translateY(-2px)}.menu{display:none;background:none;border:0;text-transform:uppercase;letter-spacing:.1em}.hero{min-height:720px;position:relative;display:grid;grid-template-columns:47% 53%;overflow:hidden;background:var(--ivory)}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,240,232,.98) 0%,rgba(244,240,232,.92) 34%,rgba(244,240,232,.08) 62%)}.hero-copy{position:relative;z-index:1;padding:130px 0 110px 7vw;grid-column:1/2;max-width:670px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600}.hero h1,.intro h2,.style-finder h2,.experience h2,.about h2,.education h2,.faq h2,.enquire h2,dialog h2{font-family:Italiana,serif;font-weight:400;line-height:.98;margin:28px 0;font-size:clamp(54px,6.5vw,106px)}em{font-weight:400;color:var(--brown)}.hero-copy>p:not(.eyebrow){max-width:530px;font-size:18px}.actions{margin-top:38px;display:flex;gap:28px;align-items:center}.text-link{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:inline-block}.text-link span{font-size:20px;margin-left:6px}.hero-note{position:absolute;z-index:2;right:4vw;bottom:35px;color:white;text-align:right;font-family:Italiana,serif;font-size:20px}.marquee{background:var(--ink);color:var(--paper);padding:15px 0;overflow:hidden;white-space:nowrap;letter-spacing:.16em;font-size:11px}.marquee div{display:inline-block;animation:scroll 24s linear infinite}@keyframes scroll{to{transform:translateX(-50%)}}.intro{padding:140px 8vw}.intro h2{font-size:clamp(48px,6vw,84px);max-width:1100px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:70px 0 0 20vw;max-width:900px}.lead{font-family:Italiana,serif;font-size:29px;line-height:1.25;margin:0}.style-finder{background:var(--ivory);padding:100px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.style-finder h2{font-size:64px}.finder-card{border-top:1px solid var(--ink);padding-top:25px}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices button{background:transparent;border:1px solid var(--line);padding:12px 16px;cursor:pointer}.choices button.active,.choices button:hover{background:var(--ink);color:var(--paper)}#style-result{margin-top:32px;padding:25px;background:var(--paper)}#style-result strong,#style-result span{display:block}#style-result span{font-family:Italiana,serif;font-size:27px;margin:8px 0}.experience{background:var(--brown);color:var(--paper);padding:55px 8vw 120px}.section-number{padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.25);font-size:11px;letter-spacing:.18em}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:70px}.experience h2{font-size:70px}.experience article{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.25)}.experience article>span{font-size:12px}.experience h3{font-family:Italiana,serif;font-weight:400;font-size:28px;margin:0 0 8px}.experience p{margin:0;color:rgba(255,255,255,.75)}.about{padding:130px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}.portrait-block{height:600px;background:linear-gradient(145deg,#d8c6aa,#876e5e);position:relative;display:grid;place-items:center;color:rgba(255,255,255,.7)}.portrait-block>span{font-family:Italiana,serif;font-size:180px}.portrait-block p{position:absolute;bottom:20px;left:25px;color:white;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.about h2{font-size:63px}.about>div:last-child>p:not(.eyebrow){max-width:620px}.education{background:var(--ink);color:var(--paper);padding:110px 8vw}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.education h2{font-size:75px}.course-list{margin:35px 0}.course-list a{display:grid;grid-template-columns:40px 1fr auto;gap:15px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2)}.course-list span{font-size:11px}.course-list b{font-family:Italiana,serif;font-size:24px;font-weight:400}.course-list small{color:#cdbfab}.light{border-color:var(--paper);color:var(--paper);background:transparent}.light:hover{background:var(--paper);color:var(--ink)}.faq{padding:130px 8vw}.faq h2{font-size:70px}.accordions{max-width:900px;margin-left:auto}.accordions details{border-top:1px solid var(--line);padding:24px 0}.accordions details:last-child{border-bottom:1px solid var(--line)}summary{font-family:Italiana,serif;font-size:25px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+"}details[open] summary:after{content:"−"}.accordions p{max-width:700px;color:#685c54}.enquire{padding:120px 8vw;background:var(--ivory);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.enquire h2{font-size:70px}.enquire form{display:grid;gap:22px;background:var(--paper);padding:38px}.enquire label{display:grid;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.enquire input,.enquire select,.enquire textarea{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 2px;outline:none;font-size:16px;text-transform:none;letter-spacing:0}.enquire input:focus,.enquire select:focus,.enquire textarea:focus{border-color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:12px;color:#71665f;margin:0}footer{padding:60px 6vw;background:#171310;color:var(--paper);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:40px;align-items:end}footer p{max-width:360px;color:#c8beb5}footer>div{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.inverse{align-items:flex-start}dialog{max-width:560px;border:0;padding:55px;background:var(--paper);box-shadow:0 20px 80px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(20,15,12,.7)}dialog h2{font-size:52px}.close{position:absolute;right:20px;top:12px;border:0;background:none;font-size:32px;cursor:pointer}
@media(max-width:850px){.nav-wrap{height:78px}.menu{display:block}.nav-wrap nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-wrap nav.open{display:flex}.hero{min-height:760px;display:block}.hero img{object-position:60% center}.hero:after{background:linear-gradient(90deg,rgba(244,240,232,.97) 0%,rgba(244,240,232,.8) 55%,rgba(244,240,232,.08) 100%)}.hero-copy{padding:95px 6vw 220px;max-width:90%}.hero h1{font-size:58px}.actions{align-items:flex-start;flex-direction:column}.intro,.style-finder,.about,.education,.faq,.enquire{padding:85px 6vw}.intro-grid,.style-finder,.experience-grid,.about,.education-grid,.enquire{grid-template-columns:1fr;margin-left:0}.style-finder,.experience-grid,.education-grid,.enquire{gap:45px}.intro h2,.style-finder h2,.experience h2,.about h2,.education h2,.faq h2,.enquire h2{font-size:49px}.portrait-block{height:460px}.portrait-block>span{font-size:130px}.course-list a{grid-template-columns:35px 1fr}.course-list small{grid-column:2}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr;align-items:start}.hero-note{font-size:16px}.intro-grid{gap:30px;margin-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.button{transition:none}}

/* Real imagery and gallery */
.menu{color:var(--ink);-webkit-appearance:none;appearance:none}
.choices button{color:var(--ink);-webkit-appearance:none;appearance:none}
.choices button.active,.choices button:hover,.choices button:focus-visible{background:var(--ink);color:var(--paper)}
.hero img{object-position:center top}
.portrait-block{display:block;overflow:hidden;color:inherit}
.portrait-block img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.portrait-block:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(20,15,12,.65))}
.portrait-block p{z-index:1}
.real-brides{padding:130px 8vw;background:var(--ivory)}
.gallery-heading{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:5vw;align-items:end;margin-bottom:60px}
.gallery-heading h2{font-family:Italiana,serif;font-weight:400;line-height:.98;font-size:clamp(48px,6vw,82px);margin:0}
.gallery-heading p{margin:0}
.gallery-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;grid-template-rows:360px 360px;gap:14px}
.gallery-grid figure{margin:0;overflow:hidden}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-tall{grid-row:1/3}
.gallery-wide{grid-column:2/4}
.veil-feature{position:relative;background:#182019}
.veil-feature:before{content:"";position:absolute;inset:-18px;background:url("veil-couple.jpg") center/cover;filter:blur(18px);opacity:.42;transform:scale(1.08)}
.gallery-grid .veil-feature img{position:relative;z-index:1;object-fit:contain;transform:none}
.gallery-grid .veil-feature:hover img{transform:none}
.booking-card{display:grid;gap:18px;background:var(--paper);padding:48px;align-content:center}
.booking-card h3{font-family:Italiana,serif;font-size:42px;font-weight:400;margin:0}
.booking-card p{margin:0}
.booking-card ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:10px}
.booking-card li:before{content:"✓";margin-right:12px;color:var(--brown)}
.booking-card .button{justify-self:start}
.booking-card small{color:#71665f}
@media(max-width:850px){
  .hero img{object-position:68% top}
  .gallery-heading{grid-template-columns:1fr;gap:24px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px 340px}
  .gallery-tall{grid-row:auto;grid-column:1/3}
  .gallery-wide{grid-column:1/3}
  .real-brides{padding:85px 6vw}
  .booking-card{padding:34px 25px}
}
