@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Barlow+Condensed:wght@600;800&family=Bodoni+Moda:opsz,wght@6..96,400;6..96,600&family=Cormorant+Garamond:wght@400;500&family=DM+Serif+Display&family=Manrope:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--detail);outline-offset:5px}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display),Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(52px,6.3vw,112px);letter-spacing:-.035em;margin-bottom:30px}h2{font-size:clamp(40px,4.8vw,78px);letter-spacing:-.03em}.concept-bar{display:flex;justify-content:space-between;gap:20px;padding:8px 4%;background:var(--ink);color:var(--paper);font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:50;background:white;padding:20px}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;gap:25px;border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent);position:sticky;top:0;z-index:20;background:var(--paper)}.wordmark{font-family:var(--display),Georgia,serif;font-size:27px;line-height:1;text-transform:uppercase;letter-spacing:-.03em}.wordmark small{display:block;font:10px/1.4 Manrope,sans-serif;letter-spacing:.19em;margin-top:7px}.nav-toggle{display:none}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav>a{padding:8px 0}nav>a:hover{border-bottom:1px solid}nav button{border:1px solid var(--ink);background:transparent;padding:11px 18px}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:85px 9% 90px;align-self:center;position:relative;z-index:1}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:600;margin-bottom:25px}.lead{max-width:450px;margin-bottom:35px}.hero-image{position:relative;overflow:hidden}.hero-image img{height:100%;min-height:600px;object-fit:cover;animation:arrive 1.5s cubic-bezier(.2,1,.2,1) both}.hero-image figcaption{position:absolute;bottom:25px;left:28px;color:white;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 8px #000}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 24px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);font-size:14px;transition:transform .25s,filter .25s}.button:hover{transform:translateY(-3px);filter:brightness(1.12)}.scroll-cue{position:absolute;left:4.5%;bottom:24px;font-size:12px}.brand-ribbon{overflow:hidden;background:var(--accent);color:var(--paper);padding:18px 0;font-family:var(--display);font-size:32px;white-space:nowrap;text-transform:uppercase}.brand-ribbon span{display:block;width:max-content;word-spacing:24px;animation:ribbon 28s linear infinite}.story{padding:100px 7%;display:grid;grid-template-columns:1fr 1.5fr;gap:20px 8%}.story .eyebrow{grid-column:1/-1}.story h2{margin-bottom:0}.story>p:last-child{max-width:650px;align-self:center;font-size:20px;line-height:1.8}.selection{padding:80px 7%;background:color-mix(in srgb,var(--detail) 13%,var(--paper))}.selection-heading{max-width:730px}.selection-heading h2{margin-bottom:24px}.selection-heading>p:last-child{font-size:14px;opacity:.7}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0 10px}.tabs button{padding:12px 23px;border:1px solid color-mix(in srgb,var(--ink) 40%,transparent);background:transparent}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.items{margin-bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.item{display:flex;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);animation:fade .4s}.item h3{font-size:20px;line-height:1.2;margin-bottom:8px}.item p{font-size:14px;opacity:.8;margin-bottom:0}.item>span{white-space:nowrap;font-size:17px}.space{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.space figure{overflow:hidden}.space img{height:650px;object-fit:cover}.space>div{padding:60px 12%}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid;padding-bottom:7px}.closing{padding:100px 7%;text-align:center;background:var(--accent);color:var(--paper)}.closing .button{border-color:currentColor}.closing h2{max-width:850px;margin:0 auto 40px}footer{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:25px;align-items:center;padding:45px 5%;font-size:12px}footer p{margin:0}footer>a{text-align:right}.gym-plan{padding:30px;border:1px solid var(--detail);margin:40px 0}.gym-plan>span{font-size:12px;letter-spacing:.1em}.goals{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.goals button{padding:10px 18px;background:transparent;border:1px solid var(--detail)}.goals button[aria-pressed=true]{background:var(--accent);color:white}.goal-result{margin:0}dialog{border:1px solid var(--detail);background:var(--paper);color:var(--ink);padding:45px;max-width:560px;width:calc(100% - 30px)}dialog::backdrop{background:#080c17bc;backdrop-filter:blur(6px)}dialog h2{font-size:38px}dialog>p{font-size:14px}.close{position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;background:none;font-size:30px}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label:first-child,form button,form .result{grid-column:1/-1}label{font-size:14px}input,select{display:block;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--detail);padding:12px;margin-top:6px}.result{font-size:14px;margin:0}body:has(dialog[open]){overflow:hidden}
/* Crocca: bold convivial typography, tomato red and a round pizza hero. */
.crocca .hero{background:var(--accent);color:var(--paper);grid-template-columns:1fr 1.05fr}.crocca .hero h1{font-size:clamp(48px,5.8vw,96px);transform:rotate(-3deg)}.crocca .hero-image{margin:60px 5% 65px 0;border-radius:50%;aspect-ratio:1;align-self:center;box-shadow:18px 18px 0 #75221a}.crocca .hero-image img{min-height:0;height:100%}.crocca .hero .button{background:var(--paper);color:var(--accent)}.crocca .hero-image figcaption{display:none}.crocca .brand-ribbon{background:var(--detail)}.crocca .item h3{font-family:var(--display);font-size:21px}.crocca .closing h2{transform:rotate(-2deg)}
/* Perle: airy marine editorial, large horizon and quiet serif. */
.perle .hero{display:block;min-height:760px}.perle .hero-image{position:absolute;inset:0}.perle .hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10204dda,transparent)}.perle .hero-image img{height:760px}.perle .hero-copy{color:white;padding:100px 7% 130px;max-width:760px}.perle h1{font-size:clamp(65px,8vw,130px);font-style:italic}.perle .hero .button{background:var(--paper);color:var(--accent);border:none}.perle .scroll-cue{color:white;z-index:2}.perle .hero-image figcaption{left:auto;right:30px;z-index:2}.perle .brand-ribbon{font-size:25px;letter-spacing:.12em;padding:20px}.perle .story{text-align:center;display:block;max-width:1000px;margin:auto}.perle .story>p:last-child{margin:35px auto 0}.perle .button,.perle nav button{border-radius:40px}
/* Trama: asymmetric beauty editorial with narrow vertical portrait. */
.trama header{padding-block:30px}.trama .wordmark{font-size:34px;letter-spacing:.04em}.trama .hero{grid-template-columns:1.15fr 1fr;padding:35px 5% 65px;min-height:780px}.trama .hero-copy{padding:45px 10px 45px 0}.trama h1{font-size:clamp(48px,6vw,95px)}.trama .hero-image{border-radius:48% 48% 0 0;max-height:700px}.trama .hero-image img{object-position:58% center}.trama .hero-image figcaption{display:none}.trama .brand-ribbon{background:var(--detail);font-size:24px;letter-spacing:.15em}.trama .space img{object-fit:contain;height:auto}.trama .closing{background:#1d1916}.trama .selection{background:#e8ded2}
/* Sagra: olive-led, centered restaurant invitation, widescreen photography. */
.sagra .hero{display:flex;flex-direction:column;min-height:0;padding:45px 5% 65px;background:var(--accent);color:var(--paper)}.sagra .hero-copy{padding:20px 0 45px;text-align:center;width:100%}.sagra h1{font-size:clamp(68px,10vw,150px)}.sagra .lead{margin:0 auto 30px}.sagra .hero .button{background:var(--paper);color:var(--accent)}.sagra .hero-image{width:100%;height:430px}.sagra .hero-image img{height:430px;min-height:0;object-position:center 60%}.sagra .scroll-cue{bottom:20px}.sagra .brand-ribbon{background:var(--detail);font-size:24px;letter-spacing:.15em}.sagra .space{grid-template-columns:1fr 1fr}.sagra .space img{object-fit:contain;height:auto}.sagra .closing{background:var(--detail)}
/* Aurora: amber morning light and a coffeehouse poster composition. */
.aurora .hero{grid-template-columns:1.05fr 1fr;background:#edcd91}.aurora .hero-copy{padding:70px 8%}.aurora h1{font-size:clamp(50px,6vw,100px)}.aurora .hero-image{margin:40px 7% 65px 0;border-radius:160px 160px 8px 8px}.aurora .hero-image img{object-position:52% center}.aurora .brand-ribbon{background:var(--ink);color:#f4dca7;font-size:28px}.aurora .story h2{color:var(--accent)}.aurora .button,.aurora nav button{border-radius:7px}.aurora .space img{object-fit:contain;background:#382219}
/* Pulse: athletic, high-contrast split screen with condensed scale. */
.pulse .concept-bar{background:var(--accent);color:white}.pulse .hero{grid-template-columns:1.2fr 1fr}.pulse h1{text-transform:uppercase;font-weight:800;font-size:clamp(70px,8.4vw,135px);font-style:italic;letter-spacing:-.015em}.pulse .hero-copy{padding:75px 7%}.pulse .hero-image img{object-position:65% center}.pulse .hero .button{color:white}.pulse .brand-ribbon{font-weight:800;font-size:42px;color:white;transform:skewY(-2deg);margin:10px 0}.pulse .wordmark{font-weight:800;font-size:34px;font-style:italic}.pulse h2{text-transform:uppercase;font-weight:800}.pulse .story>p:last-child{font-size:18px}.pulse .selection{background:#121e32}.pulse .item{padding:30px 20px;background:#172844;margin-top:15px;border-left:3px solid var(--accent)}.pulse .items{gap:15px}.pulse .item h3{font-family:var(--display);font-size:32px;text-transform:uppercase}.pulse .tabs button[aria-pressed=true]{background:var(--accent);color:white}.pulse .closing,.pulse .closing .button{color:white}.pulse .space img{object-fit:contain;background:#101626}.pulse dialog .button{color:white}
@keyframes arrive{from{transform:scale(1.08);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes fade{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ribbon{to{transform:translateX(-20%)}}
@media(max-width:900px){nav{gap:15px;font-size:12px}nav button{padding:10px}.hero,.trama .hero,.pulse .hero{min-height:600px}.hero-copy{padding-inline:7%}.hero-image img{min-height:540px}.crocca .hero-image{margin-block:40px}.story{padding:70px 6%;gap:20px 5%}.story>p:last-child{font-size:18px}.space img{height:530px}.space>div{padding:45px 9%}}
@media(max-width:650px){.concept-bar{font-size:10px;padding-inline:5%;gap:10px}header{padding:18px 5%!important}.wordmark{font-size:24px!important}.wordmark small{font-size:9px}.nav-toggle{display:block;border:1px solid var(--ink);background:none;padding:10px 15px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:25px 6%;background:var(--paper);box-shadow:0 12px 15px #0002;font-size:16px}nav.open{display:grid;gap:18px}nav button{padding:15px}.hero,.crocca .hero,.trama .hero,.aurora .hero,.pulse .hero{display:flex;flex-direction:column;min-height:0;padding:0 0 55px}.hero-copy,.crocca .hero-copy,.trama .hero-copy,.aurora .hero-copy,.pulse .hero-copy{padding:50px 6% 35px;width:100%}h1{font-size:55px}.crocca .hero h1{font-size:51px}.pulse h1{font-size:75px}.trama h1{font-size:56px}.aurora h1{font-size:55px}.hero-image{width:100%;height:360px}.hero-image img{min-height:0;height:100%}.crocca .hero-image{width:84%;height:auto;aspect-ratio:1;margin:0 auto 30px}.trama .hero-image{width:88%;height:440px;margin:auto}.aurora .hero-image{width:88%;height:380px;margin:auto}.hero-image figcaption{font-size:10px}.perle .hero{min-height:690px}.perle .hero-image{height:100%}.perle .hero-image img{height:100%}.perle .hero-copy{padding:65px 7% 110px}.perle h1{font-size:76px}.perle .hero-image:after{background:#10204d80}.sagra .hero{padding:35px 5% 60px}.sagra .hero-copy{padding:15px 0 30px}.sagra h1{font-size:80px}.sagra .hero-image,.sagra .hero-image img{height:300px}.brand-ribbon{font-size:24px!important;padding:13px}.story{display:block;padding:60px 6%}.story h2{margin-bottom:28px}.story>p:last-child{font-size:17px}.selection{padding:55px 6%}.items{grid-template-columns:1fr;gap:0}.item h3{font-size:19px}.space,.sagra .space{display:flex;flex-direction:column}.space figure{width:100%}.space img{height:auto;max-height:600px;object-fit:contain}.space>div{padding:45px 6%}.closing{padding:65px 6%}footer{display:flex;flex-direction:column;align-items:flex-start;padding:35px 6%}footer>a{text-align:left}.gym-plan{padding:20px}.goals button{font-size:14px}dialog{padding:38px 22px}dialog h2{font-size:33px}form{grid-template-columns:1fr}form>*{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.supplied-mark{position:relative;overflow:hidden;display:block;width:165px;flex-shrink:0}.supplied-mark img{position:absolute;max-width:none;object-fit:fill}.aurora-mark{width:100px;height:68px;object-fit:contain}.pulse-brand{display:flex;align-items:center;gap:12px}.pulse-brand .supplied-mark{width:44px;mix-blend-mode:screen}.pulse-brand small{display:none}.crocca .supplied-mark,.trama .supplied-mark,.sagra .supplied-mark{mix-blend-mode:multiply}@media(max-width:650px){.supplied-mark{width:145px}.aurora-mark{width:85px;height:55px}.pulse-brand .supplied-mark{width:36px}}
