/* Giovanni Designs LLC / premium brand direction – original, local-first */
:root{
 --ink:#181025;--ink2:#29113e;--plum:#421956;--violet:#9158f5;--pink:#ff49b8;
 --mint:#8dffce;--gold:#ffd78c;--ivory:#fffdfa;--muted:#655768;--line:#ebdff0;
}
body{background:#fdfafa}
.topbar{background:rgba(18,9,31,.98);border-bottom:1px solid rgba(255,255,255,.15);color:#fff}
.brandname{font-size:14px;color:#fff;letter-spacing:.09em}
.brandname b{color:var(--mint)}
.brandname small{color:#d8bfdc}
.brandmark{width:56px;height:56px}
.navrow{min-height:92px}
.menu a{color:#fff}
.menu a:hover{color:#9bffd9}
.lang{border:1px solid #965faf;background:#332044;color:#f9eaf6}
.lang:hover{background:#633675}
.navcta{background:var(--mint);color:#1b1128;border-color:var(--mint);font-weight:900}
.navcta:hover{background:#d7ffe9;color:#1b1128}
.hero{background:#120d21}
.ambient{
 background:
 radial-gradient(ellipse 42% 65% at 96% 17%,rgba(252,85,194,.44),transparent 70%),
 radial-gradient(ellipse 35% 42% at 61% 79%,rgba(161,102,255,.28),transparent 75%),
 radial-gradient(ellipse 39% 54% at 0% 9%,rgba(104,55,180,.25),transparent 75%),
 linear-gradient(124deg,#120d21 20%,#381344 66%,#20112d 100%);
}
.hero::before{content:"";position:absolute;inset:0;opacity:.17;pointer-events:none;background-image:radial-gradient(circle,#f3c5ff 1px,transparent 1.4px);background-size:39px 39px;mask-image:linear-gradient(to right,transparent 20%,black 100%)}
.hero-grid{min-height:660px;gap:69px;padding:89px 0 105px}
.eyebrow{display:inline-flex;align-items:center;background:#70316b50;border:1px solid #cb6bc66b;border-radius:99px;padding:10px 16px;color:#f5bddf;font-size:11px;letter-spacing:.105em}
.hero h1{font-size:clamp(49px,5.7vw,79px);letter-spacing:-.055em;line-height:1.07}
.hero h1 em{color:var(--mint);text-shadow:0 0 31px #83ffc62e}
.hero-intro{font-size:17.5px;line-height:1.8;color:#eee0f0}
.pill.big{color:#1d122a;background:var(--mint);border-color:var(--mint);position:relative;overflow:hidden;box-shadow:0 13px 35px #5bffc137}
.pill.big::after{content:"";width:60px;height:180%;background:#ffffff4a;position:absolute;transform:translateX(-240px) rotate(26deg);transition:transform .5s ease}
.pill.big:hover::after{transform:translateX(260px) rotate(26deg)}
.hero-note{color:#e2cbe8}
.showcase{background:#fffcff;transform:rotate(2.2deg);border:2px solid #fff;border-radius:25px;box-shadow:0 34px 95px #060310b8,0 0 0 11px #c46cab1b}
.showcase-top{background:linear-gradient(100deg,#f2e4f1,#e9f5ef);color:#57245c}
.showcase-body{padding:35px 37px}
.small-overline{color:#7e2d86}
.showcase-title{font-size:32px;letter-spacing:-.044em}
.price{background:linear-gradient(90deg,#251134,#9143ab 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.showcase-btn{background:#30143c;color:#fff;border-radius:13px;padding:17px 18px}
.showcase-btn:hover{background:#702981}
.float-tag{background:linear-gradient(120deg,#ffe0a0,#f7b0df);border:0;box-shadow:0 13px 34px #0e08165a}
.trust{background:linear-gradient(90deg,#f4e4f3,#eaf7f1)}
.trust-star{color:#9d3b95}
.trustrow{font-weight:760;color:#44334e}
.kicker{color:#a12c94}
h2{letter-spacing:-.06em}
.services{background:#fffafb}
.services .section-head h2{max-width:690px}
.service-grid{gap:19px}
.service-card{border:1px solid #e6d7e7;border-radius:21px;position:relative;overflow:hidden;min-height:355px;box-shadow:0 8px 45px #4a244b0b;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 65px #4c2a5230;border-color:#ae65c3}
.service-card.featured{background:linear-gradient(155deg,#3b1948,#25152e);color:white;border-color:#7b417e}
.service-card.featured .tag{background:var(--mint);color:#201027;border-color:var(--mint)}
.service-card.featured .arrow-up{color:var(--mint)}
.service-card.featured p,.service-card.featured .bottom-price span{color:#e4d0e6}
.service-card.featured .bottom-price{border-top-color:#947494}
.service-card.featured .bottom-price strong{color:var(--mint)}
.service-card .bottom-price{margin-top:auto;min-height:55px}
.service-card .bottom-price strong{font-size:23px}
.service-card:nth-child(2):before,.service-card:nth-child(3):before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#d854ab,#935afa,#8dffce)}
.service-card.featured:before{content:"✦";font-size:150px;color:#c062b115;position:absolute;right:-20px;top:70px;line-height:1}
.fit-section{background:#291236;color:#fff;padding:56px 0;border-top:1px solid #4b235d;border-bottom:1px solid #56265e}
.fit-shell{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:55px}
.fit-section .kicker{color:#ffaadf}
.fit-section h2{font-size:clamp(32px,3.8vw,51px);line-height:1.1}
.fit-section .subline{color:#dac9e4;max-width:335px;font-size:14px}
.fit-choices{display:grid;gap:11px}
.fit-choice{width:100%;display:flex;align-items:center;gap:15px;border:1px solid #b37cb05a;border-radius:13px;background:#faf5fa0c;color:white;padding:17px 21px;font-size:15px;font-weight:750;text-align:left;transition:background .2s,transform .2s,border-color .2s}
.fit-choice:hover,.fit-choice:focus-visible{background:#77427d6f;border-color:var(--mint);transform:translateX(5px)}
.fit-choice span:last-child{margin-left:auto;color:var(--mint)}
.fit-icon{color:var(--mint);font-size:25px;min-width:27px}
.approach{background:#fff}
.approach h2 em{color:#af3aa1}
.steps>div>span{color:#a8419d}
.audience{background:linear-gradient(105deg,#f9ebf4,#f7ecff 56%,#e8f9f1)}
.audience-quote{background:linear-gradient(135deg,#221332,#602174);border:1px solid #854d8c}
.audience-quote .big-quote{color:#ffa7d9}
.contact{background:radial-gradient(ellipse at 5% 10%,#71358c78,transparent 55%),#181025}
.contact .kicker{color:#ffacd8}
.contact h2{font-size:clamp(35px,4.3vw,57px)}
.contact-email a{color:var(--mint)}
.inquiry-card{border-radius:25px;background:linear-gradient(180deg,#fffaff,#faf6fa);box-shadow:0 25px 95px #07040ce8}
.inquiry-card .submit{background:linear-gradient(90deg,#552066,#9142a4);border-color:#5a286f;transition:filter .2s}
.inquiry-card .submit:hover{filter:brightness(1.13)}
.inquiry-header{color:#8c2c8c}
footer{background:#0e0a1b}
footer .brandname b{color:var(--mint)}
@media(max-width:1000px){.hero-grid{gap:40px}.hero h1{font-size:clamp(43px,5.3vw,66px)}}
@media(max-width:850px){.hero-grid{min-height:0}.hero h1{font-size:clamp(49px,8vw,74px);white-space:normal}.fit-shell{grid-template-columns:1fr;gap:16px}.fit-section{padding:50px 0}.service-card{min-height:0}}
@media(max-width:520px){.hero-grid{padding-top:62px;padding-bottom:78px}.hero h1{font-size:clamp(38px,10vw,54px)}.hero-intro{font-size:15px}.eyebrow{font-size:10px;padding:9px 11px;letter-spacing:.045em}.showcase{transform:none}.service-card:hover{transform:none}.fit-choice{font-size:13px;padding:14px 12px}.fit-section h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.service-card,.fit-choice,.pill.big::after{transition:none}.service-card:hover,.fit-choice:hover{transform:none}}

/* Fit the longer Spanish headline on wide desktop displays */
@media(min-width:851px){html[lang="es"] .hero h1{font-size:clamp(40px,4.15vw,60px);white-space:normal}}

/* Public intake: explicit consent, clear errors, and accessible success feedback */
.lead-consent{display:flex!important;flex-direction:row;align-items:flex-start;gap:11px;line-height:1.5!important;font-size:12px!important;font-weight:550!important;color:#4b3d53;margin:19px 0 0!important}
.lead-consent input{width:20px!important;min-height:20px!important;height:20px!important;accent-color:#7b2d91;flex-shrink:0;margin:1px 0!important;padding:0!important}
.lead-consent span{flex:1}
.inquiry-fallback{display:block;color:#713785;text-align:center;text-decoration:underline!important;font-weight:750;font-size:13px;margin-top:12px;text-underline-offset:4px}
.inquiry-fallback[hidden]{display:none}
.form-status{line-height:1.6}
.form-status[data-state="success"]{color:#135f48;background:#e8fbf3;border-radius:8px;padding:12px 14px}
.form-status[data-state="error"]{color:#92294c;background:#fff0f3;border-radius:8px;padding:12px 14px}
.inquiry-card .submit[disabled]{opacity:.65;cursor:progress;transform:none}


/* Giovanni Designs • Edition III: confident spacing, editorial detailing, accessible FAQ */
.hero-copy{min-width:0}
.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.hero-display{min-width:0}
@media(min-width:851px){
  .hero h1{font-size:clamp(43px,4.35vw,70px);white-space:normal;max-width:100%;line-height:1.07}
  html[lang="es"] .hero h1{font-size:clamp(40px,4.05vw,64px)}
  .hero-copy .hero-intro{max-width:535px}
}
.hero .showcase{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
@media(min-width:851px) and (prefers-reduced-motion:no-preference){
  .hero .showcase:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 40px 100px rgba(3,0,14,.58),0 0 0 11px #c46cab1b}
}
.answers{background:radial-gradient(ellipse at 12% 0%,#f7e4f2 0,transparent 50%),#fefbfe;border-top:1px solid #ecdfee}
.answers-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(34px,7vw,120px)}
.answers-intro{position:sticky;top:134px}
.answers-intro h2{margin:17px 0 18px}
.answers-intro h2 em{color:#a3399e}
.answers-intro p{font-size:15px;line-height:1.8;color:#645970;max-width:410px;margin:0 0 26px}
.faq-list{border-top:1px solid #decdda}
.faq-item{border-bottom:1px solid #decdda}
.faq-item summary{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:16px;align-items:center;min-height:100px;padding:20px 4px;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item .faq-number{font-family:Georgia,serif;font-size:23px;font-style:italic;color:#b05a9d}
.faq-item .faq-question{font-size:clamp(16px,1.5vw,20px);font-weight:800;letter-spacing:-.03em;line-height:1.4}
.faq-plus{position:relative;display:block;width:24px;height:24px;border-radius:50%;background:#f0ddec}
.faq-plus:before,.faq-plus:after{content:"";position:absolute;inset:11px 6px auto;height:2px;background:#54215e;border-radius:2px}
.faq-plus:after{transform:rotate(90deg);transition:transform .2s ease}
.faq-item[open] .faq-plus:after{transform:rotate(0deg)}
.faq-item summary:hover .faq-question{color:#863b91}
.faq-item summary:focus-visible{outline:3px solid #ab69d1;outline-offset:2px;border-radius:10px}
.faq-item p{color:#6d6172;font-size:14px;line-height:1.85;max-width:520px;margin:-4px 32px 26px 54px}
.faq-item[open] summary{padding-bottom:12px}
@media(max-width:850px){
 .hero-grid{grid-template-columns:1fr}
 .answers-grid{grid-template-columns:1fr;gap:20px}
 .answers-intro{position:static}
 .faq-item summary{min-height:85px;gap:10px;grid-template-columns:26px minmax(0,1fr) 24px}
 .faq-item p{margin:0 17px 22px 35px}
}
@media(max-width:520px){
 .hero .showcase{transform:none}
 .answers{padding-top:66px;padding-bottom:66px}
 .answers-intro h2{font-size:40px}
}
@media(prefers-reduced-motion:reduce){.hero .showcase,.faq-plus:after{transition:none}}
