.nav{z-index:50;padding:calc(env(safe-area-inset-top,0px) + .9rem) var(--pad) .9rem;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .4s,border-color .4s;display:flex;position:fixed;inset:0 0 auto}.nav.s{background:var(--greige);border-color:#1111112e}.nav .logo{width:42px;height:42px;display:block}.nav ul{gap:2.2rem;margin:0 2.2rem 0 auto;padding:0;font-size:.88rem;list-style:none;display:flex}.nav ul a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding:.4rem 0;transition:background-size .35s}.nav ul a:hover{background-size:100% 1px}.nav .mb{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin-left:1.2rem;padding:.5rem 0;font-size:.9rem;display:none}
@media (min-width:821px){.nav .mb{display:none}.nav ul{visibility:visible;color:inherit;font:inherit;background:0 0;flex-direction:row;justify-content:flex-start;font-size:.88rem;display:flex;position:static;transform:none}}
@media (max-width:820px){.nav ul{background:var(--ink);color:var(--ivory);padding:var(--pad);font:300 2.6rem / 1.1 var(--serif);visibility:hidden;flex-direction:column;justify-content:center;gap:1.2rem;margin:0;transition:transform .5s cubic-bezier(.7,0,.2,1);position:fixed;inset:0;transform:translateY(-100%)}.nav ul.o{visibility:visible;transform:none}.nav .mb{z-index:2;margin-left:auto;display:block;position:relative}.nav ul.o~.mb{color:var(--ivory)}.nav .logo-wrap{z-index:2;position:relative}.nav>.enq{display:none}}
.ft{background:var(--ink);color:var(--ivory);padding:4rem var(--pad) 1.6rem;border-top:1px solid #f8f5f133;position:relative;overflow:hidden}.ft-top{z-index:1;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;display:grid;position:relative}.ft .nm{font:300 clamp(1.8rem, 3vw, 2.8rem) / 1.05 var(--serif);margin:0}.ft h3{font:500 .8rem / 1.4 var(--sans);color:var(--taupe);margin:0 0 .8rem}.ft p,.ft ul{margin:0;padding:0;font-size:.92rem;list-style:none}.ft a{border-bottom:1px solid #f8f5f14d}.ft a:hover{border-color:var(--ivory)}.ft-big{font:300 clamp(5rem, 22vw, 22rem) / .75 var(--serif);color:#0000;-webkit-text-stroke:1px #f8f5f159;letter-spacing:-.04em;white-space:nowrap;z-index:0;-webkit-user-select:none;user-select:none;margin:4rem 0 0 -2vw;position:relative}.ft small{z-index:1;color:var(--taupe);margin-top:1.6rem;font-size:.75rem;display:block;position:relative}
@media (max-width:820px){.ft-top{grid-template-columns:1fr;gap:2rem}}
.ph{position:relative;overflow:hidden}.ph>img{z-index:1}
.hero{min-height:100svh;padding:7rem var(--pad) 3.5rem;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero .ring{right:var(--pad);aspect-ratio:1;width:min(72vh,46vw);position:absolute;top:6.5rem}.hero .ring .ph{border-radius:50%;width:100%;height:100%;overflow:hidden}.hero .ring .ph img{border-radius:50%}.hero .ring:after{content:"";border:1px solid var(--ink);pointer-events:none;border-radius:50%;position:absolute;inset:0;transform:translate(-5%,4%)}.hero h1{z-index:2;font:300 clamp(4.6rem, 17.5vw, 18rem) / .8 var(--serif);letter-spacing:-.035em;margin:0;position:relative}.hero h1 span{display:block}.hero h1 span+span{padding-left:11vw;font-style:italic}.hero-foot{z-index:2;justify-content:space-between;align-items:end;gap:2rem;max-width:62rem;margin-top:2.5rem;display:flex;position:relative}.hero-foot p{max-width:24rem;margin:0;font-size:.95rem}
@media (max-width:820px){.hero{padding-top:6rem}.hero .ring{width:80vw;top:5.5rem}.hero h1{font-size:23vw}.hero-foot{flex-direction:column;align-items:flex-start;gap:1.2rem;margin-top:1.8rem}}
.about{background:var(--ivory);padding:clamp(5rem, 12vw, 11rem) var(--pad);grid-template-columns:repeat(12,1fr);column-gap:1.5rem;display:grid}.about h2{font:300 clamp(2.2rem, 5.6vw, 5.6rem) / 1.08 var(--serif);letter-spacing:-.015em;grid-column:1/10;margin:0}.about h2 em{color:var(--deep);font-style:italic}.about .ph{aspect-ratio:3/5;grid-area:1/10/3/13;margin-top:9rem}.about .sm{grid-column:2/7;max-width:30rem;margin-top:4rem;font-size:.98rem}.about .sm p{margin:0 0 1rem}
@media (max-width:820px){.about{display:block}.about .ph{aspect-ratio:4/5;margin:3rem 0 0 28%}.about .sm{margin-top:2.2rem}}
.bridal{background:var(--ink);color:var(--ivory);padding:clamp(5rem, 11vw, 10rem) var(--pad);grid-template-columns:repeat(12,1fr);align-items:end;gap:1.4rem 1.6rem;display:grid;position:relative;overflow:hidden}.bridal .stage{aspect-ratio:4/5;grid-area:1/1/3/8;min-height:min(72vh,720px)}.bridal .cut{aspect-ratio:3/4;grid-area:1/8/auto/13;margin-top:4rem}.bridal .copy{grid-area:2/8/auto/13;padding-top:1rem}.bridal h2{font:300 clamp(2.4rem, 5.5vw, 4.8rem) / 1.05 var(--serif);letter-spacing:-.02em;max-width:10ch;margin:0 0 1.2rem}.bridal p{color:#f8f5f1c7;max-width:28ch;margin:0 0 1.6rem;font-size:.98rem}.bridal .enq{color:var(--ivory)}
@media (max-width:820px){.bridal{flex-direction:column;gap:1.4rem;display:flex}.bridal .stage{aspect-ratio:4/5;width:100%;min-height:0}.bridal .cut{z-index:2;align-self:flex-end;width:62%;margin-top:-18%}.bridal .copy{padding-top:.5rem}.bridal h2{max-width:none}}
.svc{background:var(--ink);color:var(--ivory);padding:clamp(5rem, 10vw, 9rem) var(--pad);grid-template-columns:1.5fr 1fr;gap:4vw;display:grid}.svc-intro{border-bottom:1px solid #f8f5f140;grid-column:1/-1;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem;padding-bottom:1.6rem;display:flex}.svc-intro h2{font:300 clamp(2rem, 4vw, 3.4rem) / 1.1 var(--serif);margin:0}.svc-intro a{white-space:nowrap;border-bottom:1px solid;padding-bottom:.3rem;font-size:.88rem}.svc ol{margin:0;padding:0;list-style:none}.svc li a{font:300 clamp(2.3rem, 5.4vw, 5.4rem) / 1.05 var(--serif);letter-spacing:-.02em;color:#f8f5f18c;border-bottom:1px solid #f8f5f124;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0;transition:color .3s,padding .4s;display:flex}.svc li a:hover,.svc li a:focus-visible,.svc li.on a{color:var(--ivory);padding-left:1.2rem}.svc li small{font:300 .82rem / 1.3 var(--sans);letter-spacing:0;color:var(--taupe);text-align:right;max-width:11rem}.svc li:nth-child(2n) a{font-style:italic}.svc .pv{aspect-ratio:3/4;align-self:start;position:sticky;top:6rem;overflow:hidden}.svc .pv .ph{width:100%;height:100%}
@media (max-width:820px){.svc{display:block}.svc .pv{display:none}.svc-intro{flex-direction:column;align-items:flex-start}.svc li a{flex-direction:column;gap:.1rem;padding:.7rem 0}.svc li small{text-align:left;max-width:none}}
.colour{background:var(--ivory);padding:clamp(5rem, 10vw, 9rem) 0 clamp(5rem, 10vw, 9rem) var(--pad);overflow:hidden}.colour .head{padding-right:var(--pad);justify-content:space-between;align-items:end;gap:2rem;max-width:100%;margin-bottom:3rem;display:flex}.colour h2{font:300 clamp(2rem, 4.5vw, 3.8rem) / 1.08 var(--serif);letter-spacing:-.02em;max-width:12ch;margin:0}.colour .head p{max-width:28ch;color:var(--deep);margin:0;font-size:.95rem}.colour .rail{scroll-snap-type:x mandatory;padding:0 var(--pad) 1.2rem 0;-webkit-overflow-scrolling:touch;gap:1.2rem;display:flex;overflow-x:auto}.colour .rail figure{scroll-snap-align:start;flex:none;margin:0}.colour .rail .ph{height:min(68vh,560px)}.colour .rail figcaption{color:var(--deep);letter-spacing:.02em;margin-top:.7rem;font-size:.78rem}.colour .f1{width:min(72vw,420px)}.colour .f2{width:min(58vw,340px)}.colour .f3{width:min(80vw,480px)}.colour .f1 .ph{aspect-ratio:3/4;height:auto;min-height:min(68vh,560px)}.colour .f2 .ph,.colour .f3 .ph{aspect-ratio:4/5;height:auto;min-height:min(60vh,500px)}
@media (max-width:820px){.colour .head{flex-direction:column;align-items:flex-start;margin-bottom:2rem}.colour .f1 .ph,.colour .f2 .ph,.colour .f3 .ph{min-height:min(52vh,420px)}}
.academy{background:var(--taupe);color:var(--ink);padding:clamp(5rem, 11vw, 10rem) var(--pad);grid-template-columns:1fr 1.15fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.academy .lead h2{font:300 clamp(2.2rem, 5vw, 4.2rem) / 1.05 var(--serif);letter-spacing:-.02em;max-width:11ch;margin:0 0 1.4rem}.academy .lead p{max-width:34ch;margin:0 0 1.2rem;font-size:.98rem}.academy .lead .enq{border-color:var(--ink)}.academy .pair{grid-template-columns:1.1fr .9fr;align-items:end;gap:1rem;display:grid}.academy .pair .wide{aspect-ratio:4/5}.academy .pair .tall{aspect-ratio:3/4;margin-bottom:12%}.academy .note{color:#111111b3;max-width:36ch;margin:1rem 0 0;font-size:.8rem}
@media (max-width:820px){.academy{flex-direction:column;gap:2.2rem;display:flex}.academy .pair{order:-1;grid-template-columns:1.2fr .8fr}.academy .pair .tall{margin-bottom:0}.academy .lead h2{max-width:none}}
.gal{background:var(--greige);padding:clamp(5rem, 10vw, 9rem) var(--pad)}.gal h2{font:300 clamp(2rem, 4vw, 3.4rem) / 1.1 var(--serif);max-width:34rem;margin:0 0 3.5rem}.gg{grid-template-columns:repeat(12,1fr);align-items:start;gap:1.6rem;display:grid}.gg figure{margin:0}.gg figcaption{color:var(--deep);margin-top:.6rem;font-size:.78rem}.g1{grid-column:1/6}.g1 .ph{aspect-ratio:4/5}.g2{grid-column:6/10;margin-top:7rem}.g2 .ph{aspect-ratio:1}.g3{grid-column:10/13;margin-top:2rem}.g3 .ph{aspect-ratio:3/5}.g4{grid-column:2/5;margin-top:-3rem}.g4 .ph{aspect-ratio:3/4}.g5{grid-column:5/11;margin-top:3rem}.g5 .ph{aspect-ratio:16/10}.g6{grid-column:11/13;margin-top:8rem}.g6 .ph{aspect-ratio:4/5}
@media (max-width:820px){.gg{scroll-snap-type:x mandatory;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 1rem;-webkit-overflow-scrolling:touch;gap:1rem;display:flex;overflow-x:auto}.gg figure{scroll-snap-align:start;flex:0 0 74vw;margin:0!important}.gg .g5{flex-basis:88vw}.gg .g3,.gg .g6{flex-basis:56vw}}
.lounge{background:var(--greige);grid-template-columns:1.2fr 1fr;min-height:min(92vh,900px);display:grid;position:relative;overflow:hidden}.lounge .scene{min-height:min(92vh,900px);position:relative}.lounge .scene .ph{width:100%;height:100%;position:absolute;inset:0}.lounge .info{padding:clamp(3rem, 8vw, 6rem) var(--pad);background:var(--ivory);flex-direction:column;justify-content:center;display:flex}.lounge h2{font:300 clamp(2.2rem, 4.5vw, 3.8rem) / 1.05 var(--serif);letter-spacing:-.02em;margin:0 0 1.4rem}.lounge .blk{border-top:1px solid #1111112e;padding:1.2rem 0}.lounge .blk h3{font:500 .8rem / 1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--deep);margin:0 0 .45rem}.lounge .blk p{max-width:32ch;margin:0;font-size:.95rem}.lounge .links{flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem;display:flex}
@media (max-width:820px){.lounge{flex-direction:column;min-height:0;display:flex}.lounge .scene{order:-1;min-height:62vh}.lounge .info{padding:3rem var(--pad) 4rem}}
.map{background:var(--ink);color:var(--ivory);position:relative;overflow:hidden}.map-shell{width:100%;height:min(72vh,640px);position:relative}.map-frame{filter:grayscale()contrast(1.12)brightness(.88)saturate(0);pointer-events:auto;border:0;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.map-veil{pointer-events:none;z-index:1;background:linear-gradient(#1111116b 0%,#11111114 38%,#1111112e 70%,#1111118c 100%),radial-gradient(#0000 35%,#11111159 100%);position:absolute;inset:0}.map-pin{z-index:2;width:54px;height:54px;color:var(--ivory);font:400 1.55rem / 1 var(--serif);letter-spacing:-.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#111111b8;border:1px solid #f8f5f1d9;border-radius:50%;place-items:center;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 10px #1111112e}.map-bar{left:var(--pad);right:var(--pad);z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;display:flex;position:absolute;bottom:clamp(1.4rem,4vw,2.4rem)}.map-bar p{max-width:28rem;font:300 clamp(1.4rem, 3vw, 2.2rem) / 1.15 var(--serif);letter-spacing:-.02em;margin:0}.map-bar span{font:400 .85rem / 1.4 var(--sans);color:#f8f5f1b8;margin-top:.45rem;display:block}.map-bar .dir{min-height:48px;color:var(--ivory);font:500 .88rem / 1 var(--sans);letter-spacing:.03em;white-space:nowrap;border:1px solid #f8f5f1d9;justify-content:center;align-items:center;padding:.85rem 1.4rem;transition:background .35s,color .35s;display:inline-flex}.map-bar .dir:hover{background:var(--ivory);color:var(--ink)}
@media (max-width:820px){.map-shell{height:min(64vh,520px)}.map-bar{flex-direction:column;align-items:flex-start}.map-pin{width:46px;height:46px;font-size:1.3rem;box-shadow:0 0 0 8px #1111112e}}
.pause{background:var(--deep);color:var(--ivory);padding:clamp(6rem, 14vw, 12rem) var(--pad);position:relative;overflow:hidden}.pause p{z-index:1;font:300 clamp(2.8rem, 9vw, 9rem) / .98 var(--serif);letter-spacing:-.03em;max-width:12ch;margin:0;position:relative}.pause p i{color:var(--greige);font-style:italic}.pause:after{content:"";aspect-ratio:1;border:1px solid #f8f5f166;border-radius:50%;width:min(54vw,640px);position:absolute;bottom:-14vw;right:-8vw}
.cta{background:var(--ink);color:var(--ivory);padding:clamp(6rem, 13vw, 12rem) var(--pad);grid-template-columns:1fr auto;align-items:end;gap:3rem;display:grid}.cta h2{font:300 clamp(2.6rem, 7vw, 7rem) / 1 var(--serif);letter-spacing:-.025em;max-width:11ch;margin:0}.cta .b{aspect-ratio:1;border:1px solid var(--ivory);text-align:center;border-radius:50%;justify-content:center;align-items:center;width:clamp(9rem,15vw,13rem);padding:1rem;font-size:.9rem;font-weight:500;line-height:1.3;transition:background .35s,color .35s;display:inline-flex}.cta .b:hover{background:var(--ivory);color:var(--ink)}
@media (max-width:820px){.cta{display:block}.cta .b{margin-top:2.5rem}}
