:root{--white:#fff;--ink:#141414;--pink:#f6dfe6;--cherry:#ff2e4f;--muted:#686868;--rule:#dcdcdc;--font:'Manrope','Helvetica Neue',Arial,sans-serif;--gutter:clamp(20px,2.1vw,48px);--section-gutter:clamp(24px,3.3vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}
button,select,input{font:inherit}
button,a,select,label{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.55}
button,figure,p,h1,h2,h3,fieldset{margin:0}
img{display:block;max-width:100%;height:auto}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;flex:none}
.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}
:focus-visible{outline:3px solid var(--cherry);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:16px;z-index:10;padding:12px 20px;background:var(--ink);color:#fff;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.gutter{padding-inline:var(--gutter)}
.section-gutter{padding-inline:var(--section-gutter)}
.site-header{height:52px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--rule);margin-inline:var(--gutter);padding-inline:0}
.header-brand{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.075em}
.site-header nav{margin-left:auto;display:flex;gap:34px;font-size:15px;letter-spacing:-.025em}
.site-header nav a,.back-link{padding-block:12px}
.back-link{display:flex;align-items:center;gap:20px;margin-left:54px;font-size:13px;letter-spacing:-.025em}
.site-header a:hover{color:var(--cherry)}
.hero{padding-top:14px;padding-bottom:28px}
.hero-brand{width:100%;font-size:24.5vw;font-weight:800;line-height:.74;letter-spacing:-.085em;white-space:nowrap;margin-left:-.012em;padding-bottom:.035em}
.hero-brand span{display:inline-block;width:max-content;transform:scaleX(var(--brand-stretch,1.4));transform-origin:0 50%}
.hero-introduction{display:flex;justify-content:space-between;align-items:baseline;gap:32px;margin-top:0;margin-bottom:16px}
.hero-statement{font-size:clamp(25px,2.6vw,42px);font-weight:400;line-height:1.1;letter-spacing:-.06em;white-space:nowrap}
.hero-description{font-size:clamp(14px,1.43vw,22px);font-weight:400;letter-spacing:-.04em;text-align:right;line-height:1.35}
.campaign{display:grid;grid-template-columns:minmax(0,2.75fr) minmax(0,1fr);gap:14px;aspect-ratio:3.12/1;overflow:hidden}
.campaign img{width:100%;height:100%;object-fit:cover}
.campaign-main{object-position:50% 52%}
.campaign-detail{object-position:50% 47%}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.campaign-caption{display:flex;align-items:baseline;gap:22px}
.campaign-caption p{font-size:21px;letter-spacing:-.055em;line-height:1.25}
.campaign-caption span{font-size:12px;color:var(--muted);white-space:nowrap}
.hero-actions{display:flex;align-items:center;gap:28px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;border:1px solid var(--cherry);background:var(--cherry);color:var(--ink);padding:12px 24px;font-size:15px;line-height:1.25;font-weight:600;letter-spacing:0;transition:background .18s,border-color .18s}
.button:hover{background:#f51e43;border-color:#f51e43}
.button svg{width:22px;height:22px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:4px 0 5px;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.025em}
.text-link:hover{color:var(--cherry)}
.text-link svg{width:22px;height:22px}
.concept-note{margin-top:16px;font-size:12px;line-height:1.5;color:#6b6b6b}
.services{background:var(--ink);color:var(--white);padding-top:72px;padding-bottom:36px;scroll-margin-top:0}
.services-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.services h2{font-size:clamp(52px,6.35vw,110px);font-weight:800;line-height:.98;letter-spacing:-.07em}
.services-heading>p{font-size:clamp(15px,1.8vw,28px);line-height:1.3;letter-spacing:-.045em;padding-bottom:4px}
.services-heading>p span{color:var(--cherry)}
.look-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.look figure{overflow:hidden;aspect-ratio:4/4.55;background:var(--pink)}
.look img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .5s ease}
.look:hover img{transform:scale(1.025)}
.look-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:22px;font-size:clamp(18px,1.72vw,28px);font-weight:700;line-height:1.25;letter-spacing:-.06em}
.look-title h3{font-size:inherit;font-weight:inherit}
.look>p{margin-top:8px;font-size:clamp(13px,1.28vw,20px);line-height:1.4;letter-spacing:-.035em}
.choose-service{margin-top:16px;color:var(--pink);font-size:clamp(14px,1.28vw,20px);font-weight:600}
.choose-service:hover{color:#fff}
.services :focus-visible{outline-color:var(--pink)}
.price-note{margin-top:42px;border-top:1px solid #7c7c7c;padding-top:16px;color:#d1d1d1;font-size:11px;line-height:1.5}
.booking{background:var(--pink);padding-top:96px;padding-bottom:30px;scroll-margin-top:0}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px}
.booking h2{font-size:clamp(64px,8.1vw,140px);font-weight:800;line-height:.94;letter-spacing:-.075em}
.booking-statement{font-size:clamp(24px,2.7vw,42px);line-height:1.2;letter-spacing:-.055em;margin-top:54px}
.booking-statement br{display:none}
.booking-note{margin-top:16px;font-size:clamp(16px,1.65vw,24px);color:#545054;line-height:1.45;letter-spacing:-.035em}
.booking-note br{display:none}
.booking-form h3{font-size:clamp(25px,2.25vw,36px);line-height:1.1;font-weight:700;letter-spacing:-.05em}
.demo-label{font-size:16px;color:#545054;line-height:1.4;margin-top:8px}
.service-field{margin-top:32px}
.service-field>label,legend{display:block;font-size:17px;font-weight:600;letter-spacing:-.035em;line-height:1.35;margin-bottom:12px}
.select-wrap{position:relative}
.select-wrap select{width:100%;height:56px;appearance:none;border:1px solid #5d5357;border-radius:0;background:transparent;color:var(--ink);padding:12px 48px 12px 20px;font-size:16px;letter-spacing:-.025em;cursor:pointer}
.select-wrap svg{position:absolute;right:16px;top:16px;pointer-events:none;width:22px;height:22px}
fieldset{border:0;padding:0;min-width:0;margin-top:28px}
legend{padding:0}
.choice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0}
.choice span{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid #675c61;background:transparent;padding:10px 6px;font-size:15px;line-height:1.3;letter-spacing:-.035em;transition:background .15s}
.choice input:checked+span{background:var(--white);border:2px solid var(--ink);padding:9px 5px}
.choice input:focus-visible+span{outline:3px solid var(--cherry);outline-offset:4px}
.choice:hover span{background:rgba(255,255,255,.5)}
.choice input:checked+span{background:var(--white)}
.preview-button{margin-top:30px;width:100%;height:58px;font-size:17px;gap:20px}
.form-help{margin-top:12px;font-size:12px;color:#545054;line-height:1.5;letter-spacing:-.01em}
.confirmation{margin-top:26px;background:var(--white);padding:24px 28px}
.confirmation[hidden]{display:none}
.confirmation p:first-child{font-size:14px;line-height:1.3}
.confirmation strong{display:block;font-size:clamp(18px,1.6vw,25px);font-weight:700;letter-spacing:-.05em;line-height:1.3;margin-top:9px}
.confirmation p:last-child{margin-top:8px;font-size:13px;color:#545054;line-height:1.5}
.noscript{margin-top:16px;font-size:14px;line-height:1.5}
.site-footer{display:flex;align-items:center;gap:54px;border-top:1px solid var(--ink);margin-top:76px;padding-top:24px}
.footer-brand{font-size:58px;font-weight:500;line-height:1;letter-spacing:-.085em}
.site-footer>p{font-size:12px;color:#545054;line-height:1.5}
.site-footer>.text-link{margin-left:auto;font-size:14px}
@media(min-width:1900px){.hero-brand{font-size:26.8vw}.campaign{aspect-ratio:3.5/1}.look figure{aspect-ratio:4/4.2}}
@media(max-width:1100px){.site-header{gap:24px}.back-link{margin-left:16px}.hero-bottom{align-items:flex-start}.campaign-caption{display:block}.campaign-caption span{display:block;margin-top:8px}.hero-actions{gap:20px}.button{padding-inline:20px}.hero-introduction{gap:30px}.hero-description{max-width:56%;font-size:16px}.look-title{flex-wrap:wrap;gap:5px}.look-title span{margin-left:auto}.booking-layout{gap:42px}.booking-statement br,.booking-note br{display:block}.booking-statement{margin-top:38px}.choice-options{gap:8px}.choice span{font-size:13px}.booking{padding-top:72px}.site-footer{gap:28px}}
@media(max-width:760px){:root{--gutter:20px;--section-gutter:24px}.site-header{height:66px;gap:20px;flex-wrap:wrap;align-content:center}.header-brand{font-size:25px}.site-header nav{gap:18px;font-size:12px}.back-link{font-size:0;margin-left:0;gap:0;padding-block:10px}.back-link svg{width:22px;height:22px}.hero{padding-top:22px;padding-bottom:26px}.hero-brand{font-size:27vw;line-height:.83}.hero-introduction{display:block;margin-top:22px;margin-bottom:20px}.hero-statement{font-size:30px}.hero-description{max-width:330px;text-align:left;font-size:14px;line-height:1.5;letter-spacing:-.025em;margin-top:12px}.campaign{aspect-ratio:1.28/1;grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);gap:8px}.campaign-main{object-position:54% center}.campaign-detail{object-position:48% center}.hero-bottom{display:block;margin-top:16px}.campaign-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.campaign-caption p{font-size:18px}.campaign-caption span{font-size:10px;margin-top:0}.hero-actions{display:flex;justify-content:space-between;gap:20px;margin-top:22px}.button{min-height:46px;padding:11px 14px;font-size:13px;gap:14px}.button svg{width:20px}.hero-actions .text-link{font-size:12px;gap:9px}.hero-actions .text-link svg{width:18px}.concept-note{margin-top:22px;font-size:10px}.services{padding-top:48px;padding-bottom:28px}.services-heading{display:block;margin-bottom:28px}.services h2{font-size:clamp(47px,12vw,80px)}.services-heading>p{font-size:16px;margin-top:25px}.look-gallery{grid-template-columns:1fr;gap:42px}.look figure{aspect-ratio:4/4.4}.look-title{font-size:24px;margin-top:18px}.look>p{font-size:16px;margin-top:8px}.choose-service{font-size:16px;margin-top:14px}.price-note{margin-top:32px;font-size:10px;padding-top:14px}.booking{padding-top:52px;padding-bottom:24px}.booking-layout{grid-template-columns:1fr;gap:42px}.booking h2{font-size:clamp(62px,15.5vw,94px)}.booking-statement{font-size:25px;line-height:1.25;margin-top:28px}.booking-statement br{display:none}.booking-note{font-size:16px;max-width:320px;margin-top:14px}.booking-note br{display:none}.booking-form h3{font-size:29px}.demo-label{font-size:14px;margin-top:7px}.service-field{margin-top:26px}.service-field>label,legend{font-size:15px;margin-bottom:10px}.select-wrap select{font-size:14px;height:54px;padding-left:15px}.select-wrap svg{top:16px}fieldset{margin-top:24px}.choice span{font-size:12px;min-height:54px;letter-spacing:-.04em;padding-inline:2px}.choice input:checked+span{padding-inline:1px}.preview-button{height:54px;margin-top:26px;font-size:15px}.form-help{font-size:10px;margin-top:12px}.confirmation{padding:20px;margin-top:22px}.confirmation strong{font-size:20px}.confirmation p:first-child{font-size:13px}.confirmation p:last-child{font-size:12px}.site-footer{flex-wrap:wrap;gap:16px 26px;margin-top:48px;padding-top:22px}.footer-brand{font-size:44px}.site-footer>p{max-width:170px;font-size:10px}.site-footer>.text-link{margin:8px 0 0;font-size:13px}}
@media(max-width:360px){:root{--gutter:16px;--section-gutter:20px}.site-header{gap:14px}.site-header nav{gap:12px;font-size:11px}.hero-actions{gap:12px}.button{padding-inline:11px;gap:10px}.campaign-caption p{font-size:16px}.campaign-caption span{font-size:9px}.hero-actions .text-link{font-size:11px;gap:5px}.choice span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.look:hover img{transform:none}}

/* Refined against the native-size concept/render pair. Display type stays tight;
   reading text and native controls retain clear word spaces. */
.site-header nav,.back-link,.hero-description,.campaign-caption,.campaign-caption p,.campaign-caption span,.button,.text-link,.concept-note,.services-heading>p,.look-title,.look>p,.price-note,.booking-statement,.booking-note,.demo-label,.service-field>label,legend,.select-wrap select,.choice span,.form-help,.confirmation,.confirmation strong,.site-footer>p{letter-spacing:0}
.services h2,.booking h2{word-spacing:.045em}
.hero-statement{letter-spacing:-.04em;word-spacing:.03em}
.booking-form h3{letter-spacing:0}
.form-help,.price-note,.campaign-caption span,.site-footer>p,.concept-note{font-size:12px}
.select-wrap select,.choice span{font-size:16px}
.choice span{letter-spacing:-.015em}
@media(min-width:761px){.services{padding-top:32px}.services h2{line-height:.9}.booking{padding-top:80px}.booking h2{font-size:clamp(64px,9.6vw,164px)}.booking-statement{font-size:clamp(24px,2.7vw,42px)}}
@media(max-width:760px){.hero-introduction{margin-top:22px;margin-bottom:20px}.concept-note{margin-top:22px}.hero-bottom{margin-top:16px}.select-wrap select{font-size:16px}.choice span{font-size:16px;padding-inline:2px}.choice input:checked+span{padding-inline:1px}.service-field>label,legend{font-size:16px}.choice-options{gap:8px}.form-help,.price-note,.campaign-caption span,.site-footer>p,.concept-note{font-size:12px}.campaign-caption{flex-wrap:wrap;gap:6px 14px}.site-footer>p{max-width:190px}}
@media(max-width:360px){.choice-options{gap:6px}}
