
:root{color-scheme:dark;--bg:#08090b;--fg:#f5f5f6;--mut:#b6b4ba;--card:#141417;--border:#353037;--gold:#f6cb27;--red:#ee174b;--mx:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--fg);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 89% 29%,#680b251e,transparent 37%),radial-gradient(ellipse at 15% 79%,#8c481013,transparent 31%);z-index:-1}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.shell{width:min(var(--mx),calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:40;background:#09090aeb;border-bottom:1px solid #2b2529;backdrop-filter:blur(18px)}.headrow{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0}.brandmark{font-size:27px;font-weight:1000;letter-spacing:-3px;font-style:italic;transform:skew(-10deg);text-shadow:1px 2px #712027;line-height:1}.brandmark:after{content:"";display:block;width:51px;height:3px;background:linear-gradient(90deg,var(--gold),var(--red));transform:skew(18deg)}.brandbar{width:3px;height:20px;background:var(--gold);transform:skew(-14deg)}.brandname{font-weight:750;font-style:italic;letter-spacing:-.3px;font-size:14px}.actions,.navlinks,.heroactions{display:flex;align-items:center;gap:10px}.navlinks{gap:28px}.navlinks a{font-size:14px;color:#c9c6cb;position:relative;padding:9px 0;transition:color .2s}.navlinks a:hover,.navlinks a.active{color:white}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .25s}.navlinks a:hover:after,.navlinks a.active:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:11px;padding:0 17px;font-size:14px;font-weight:750;border:1px solid #777078;background:#171517;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s;white-space:nowrap}.btn:hover{transform:translateY(-3px);border-color:#f6cb278a;box-shadow:0 9px 24px #0008}.btn-primary{color:#191103;background:linear-gradient(135deg,#ffdf62,#edb300);border-color:#dfb932;box-shadow:0 0 19px #f2bd245e}.btn-primary:hover{box-shadow:0 0 31px #f2bd248a}.btn-github{background:#220b13;border-color:#b3183a}.btn-outline{background:#101013;border-color:#888489}.menu-toggle{display:none;background:#171518;border:1px solid #454047;color:white;border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center;font-size:23px}.hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:36px;padding:100px 0 80px;min-height:520px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#b4a9ad;display:flex;align-items:center;gap:11px}.eyebrow:before,.section-head h2:before{content:"";display:inline-block;width:7px;height:23px;background:var(--red);transform:skew(-20deg);border-radius:2px}.hero h1{font-size:clamp(41px,5.2vw,74px);line-height:1.06;letter-spacing:-.055em;margin:20px 0 19px;max-width:730px}.yellow{color:var(--gold)}.red{color:var(--red)}.lead{font-size:clamp(16px,1.7vw,19px);line-height:1.6;color:var(--mut);max-width:550px;margin:0 0 29px}.hero-art{height:340px;position:relative;perspective:950px;isolation:isolate}.orb{position:absolute;inset:16% 10%;background:radial-gradient(circle,#89112e4a,transparent 67%);filter:blur(23px)}.screen{position:absolute;background:linear-gradient(140deg,#2b222d,#151317 70%);border:2px solid #796775;border-radius:19px;box-shadow:0 24px 58px #000b,0 0 25px #9a0b2944;overflow:hidden;will-change:transform}.screen:before{content:"•••";display:block;color:#f23261;letter-spacing:8px;padding:8px 13px;border-bottom:1px solid #3a2936}.screen.big{width:68%;height:67%;top:15%;left:17%;transform:rotate(-7deg)}.screen.left{width:28%;height:42%;top:34%;left:0;transform:rotate(10deg)}.screen.right{width:26%;height:55%;top:24%;right:0;transform:rotate(11deg)}.code-lines{display:grid;gap:12px;padding:15px}.line{height:6px;border-radius:30px;background:linear-gradient(90deg,#eb2254 20%,#c51dce 42%,#06cbd7 90%);opacity:.9}.line:nth-child(even){width:68%;background:linear-gradient(90deg,#9b1bd8,#16d6cb)}.line:nth-child(3){width:83%}.line:nth-child(4){width:53%}.screen.right .code-lines{gap:8px;padding:11px}.screen.right .line{height:5px}.screen.left .line{height:4px}.codebadge{position:absolute;bottom:9%;left:30%;background:#160d14;color:#f02a5f;border:1px solid #c31c47;padding:13px 22px;border-radius:16px;font-family:monospace;font-size:27px;box-shadow:0 0 23px #e01d4455;transform:rotate(-5deg)}.ring{position:absolute;border:5px solid;border-radius:50%;width:80px;height:80px;border-color:#c90b3b transparent transparent transparent;top:22%;left:-5%;transform:rotate(20deg)}.ring.right{width:56px;height:56px;top:69%;left:auto;right:-5%;border-color:#ffbc19 transparent transparent transparent;transform:rotate(92deg)}.divider{border:0;border-top:1px solid #29272b}.section{padding:44px 0 60px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:23px}.section-head h2{font-size:32px;letter-spacing:-.04em;margin:0;display:flex;align-items:center;gap:12px}.sub{font-style:italic;color:#a9a3ac;font-size:14px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.service{border:1px solid #3a353a;background:linear-gradient(145deg,#1d1b1e,#111113);border-radius:14px;padding:23px 20px 19px;min-height:166px;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.service:hover{transform:translateY(-6px);border-color:#8b4253;box-shadow:0 18px 40px #0009}.service:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .4s}.service:hover:after{width:100%}.svc-icon{font-size:26px;color:#ddd;display:block;margin-bottom:16px}.service h3{font-size:17px;margin:0 0 7px;letter-spacing:-.02em}.service p{font-size:14px;line-height:1.5;color:#aaa5aa;margin:0}.accent{width:37px;height:3px;background:var(--red);border-radius:3px;margin-top:16px}.service:nth-child(2n) .accent{background:var(--gold)}.project{border:1px solid #45343e;border-radius:17px;padding:24px;background:radial-gradient(ellipse at 95% 130%,#8f073c52,transparent 50%),linear-gradient(110deg,#211a20,#111113);display:flex;align-items:center;justify-content:space-between;gap:20px}.project h3{margin:0 0 6px}.project p{margin:0;color:#aaa}.contact-band{background:linear-gradient(110deg,#2a101e,#221813);border:1px solid #6a3442;border-radius:17px;margin:32px 0;padding:29px;display:flex;align-items:center;justify-content:space-between;gap:22px}.contact-band h2{font-size:26px;margin:0 0 6px}.contact-band p{margin:0;color:#c5b8bd}.footer{border-top:1px solid #8c1836;padding:30px 0 40px}.footerrow{display:flex;justify-content:space-between;gap:20px;align-items:center}.footlinks{display:flex;gap:25px;flex-wrap:wrap;font-size:13px;color:#c7bbc0}.tagline{font-style:italic;font-weight:700;color:#f4f0f2}.mobile-nav{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.service:nth-child(2){transition-delay:.06s}.service:nth-child(3){transition-delay:.12s}.service:nth-child(4){transition-delay:.06s}.service:nth-child(5){transition-delay:.12s}.modal{border:1px solid #61505a;background:#181318;color:white;width:min(470px,calc(100% - 28px));padding:26px;border-radius:19px;box-shadow:0 30px 90px #000d}.modal::backdrop{background:#000b;backdrop-filter:blur(7px)}.modal h2{margin:0 0 8px}.modal p{color:#c0b7bd;line-height:1.5}.modal label{display:block;font-size:13px;margin:15px 0 7px}.modal input,.modal textarea{width:100%;padding:12px;background:#100d10;color:white;border:1px solid #68535e;border-radius:8px}.modal textarea{height:110px;resize:vertical}.modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:19px}

/* TKG V3: fidelidad al concepto aprobado, preservando la interfaz accesible de V2. */
:root{--bg:#020203;--fg:#fff;--mut:#d2cccd;--card:#111112;--border:#4e4449;--gold:#ffcb00;--red:#ff073b;--mx:1580px}
body{background:#020203}
body:before{background:radial-gradient(ellipse at 76% 16%,#6e06242e,transparent 32%),radial-gradient(ellipse at 90% 82%,#42091e1d,transparent 22%)}
.shell{width:min(var(--mx),calc(100% - 76px))}
.header{background:linear-gradient(110deg,#120209f5,#020203f5 42%);border-bottom:1px solid #503138;box-shadow:0 3px 16px #10010866}
.header:before{content:"";position:absolute;top:0;left:0;width:100px;height:68px;pointer-events:none;background:linear-gradient(130deg,transparent 25%,#fe1244 26%,#fe1244 29%,transparent 30%);opacity:.96}
.headrow{min-height:70px}
.brandmark{font-size:35px;letter-spacing:-4px;font-style:italic;position:relative}
.brandmark:before{content:"";position:absolute;top:-8px;left:8px;width:74px;height:20px;border-top:3px solid var(--red);border-radius:50%;transform:rotate(-12deg)}
.brandmark:after{width:51px}
.brandname{font-size:21px;font-style:italic;font-weight:780;letter-spacing:-.75px}
.brandbar{height:26px;background:var(--gold);margin:0 3px 0 8px}
.navlinks a{color:#f1eaed;font-size:15px}.navlinks a.active:after{height:3px;box-shadow:0 0 11px var(--red)}
.actions>.btn-primary{min-height:41px;border:1px solid var(--gold);border-radius:9px;background:#080507;color:#fff;box-shadow:0 0 16px #ffc6004d}
.actions>.btn-primary:hover{box-shadow:0 0 22px #ffc60088}.btn-github{background:#090609;border-color:#d20b32}
.hero{grid-template-columns:48% 52%;gap:0;min-height:350px;padding:0;overflow:visible;position:relative}
.hero:before{content:"";position:absolute;z-index:-1;top:0;right:0;width:67%;height:100%;pointer-events:none;background:radial-gradient(ellipse at 72% 59%,#66071a52,#10050b33 40%,transparent 73%)}
.hero>.reveal:first-child{position:relative;z-index:2;align-self:center}
.eyebrow{letter-spacing:.2px;font-size:13px;text-transform:uppercase;color:#f3eef0;font-weight:600;margin:0 0 15px}
.hero h1{font-size:clamp(40px,3.35vw,57px);font-weight:900;font-style:italic;line-height:1.06;letter-spacing:-.045em;max-width:800px;white-space:normal;margin:0 0 19px}
.hero .lead{max-width:655px;font-size:clamp(16px,1.28vw,19px);line-height:1.46;color:#e8e1e3;margin:0 0 23px}
.heroactions{gap:24px}.heroactions .btn{font-size:16px;min-height:50px;border-radius:10px;padding:0 24px;font-weight:780}
.heroactions .btn-primary{color:#fff;background:linear-gradient(130deg,#0a0606,#090408);border:1px solid var(--gold);box-shadow:0 0 15px #ffc10075}
.heroactions .btn-outline{border:1.7px solid #eee;box-shadow:0 0 7px #ffffff22}
.hero-art{height:350px;position:relative;z-index:1;perspective:none;isolation:isolate}
.hero-art-svg{display:block;position:absolute;top:-4%;left:-4%;width:115%;height:111%;filter:drop-shadow(0 12px 7px #1c0610)}
.hero-art:after{content:"";position:absolute;bottom:1px;left:-15%;width:125%;height:2px;background:linear-gradient(90deg,transparent,#f01b3f88,#ffcc0033,transparent);box-shadow:0 0 12px #e5083575}
.hero-art .floating-panels{animation:tkg-ambient 8s ease-in-out infinite alternate}.hero-art .ribbon-back{animation:tkg-ring 14s ease-in-out infinite alternate}.hero-art .ribbon-front{animation:tkg-ring 11s ease-in-out infinite alternate-reverse}
.section{padding:14px 0 24px}
.divider{border-color:#591421;margin:0;box-shadow:0 -1px 6px #b5002730}
.section-head{justify-content:flex-start;align-items:center;gap:27px;margin-bottom:15px}
.section-head h2{font-size:34px;white-space:nowrap;font-style:italic;font-weight:950}
.section-head h2:before{width:9px;height:27px;border-radius:0}
.section-head .sub{font-size:16px;letter-spacing:-.2px;color:#efe6e8}
.services{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.service{position:relative;display:grid;grid-template-columns:69px minmax(0,1fr);grid-template-rows:min-content 1fr;column-gap:9px;align-items:start;min-height:116px;padding:15px 11px 17px;border-radius:11px;background:linear-gradient(140deg,#242124,#111012 62%,#050506);border:1px solid #555154;box-shadow:0 3px 12px #0007}
.service:hover{border-color:#fb1849;background:linear-gradient(140deg,#2f151e,#111113 75%);box-shadow:0 8px 24px #0009,0 0 13px #9e163b4d}
.svc-icon{grid-row:1 / span 2;font-size:33px;line-height:1;display:flex;align-items:center;justify-content:center;margin:6px 0 0;color:#fff}
.service h3{grid-column:2;font-size:14px;letter-spacing:-.5px;line-height:1.25;margin:0 0 4px;font-weight:800}
.service p{grid-column:2;font-size:11.4px;line-height:1.38;color:#eee6e9;letter-spacing:-.2px;max-width:230px}
.service .accent{position:absolute;left:18px;bottom:12px;width:60px;height:5px;margin:0;background:#fa0739;border-radius:5px}
.service:nth-child(2n) .accent,.service:nth-child(5) .accent{background:#ffce00}
#proyectos{padding-top:17px}
#proyectos .project{position:relative;min-height:105px;overflow:hidden;padding:22px 36px;background:linear-gradient(103deg,#1d1619,#0b080a 50%,#21040b);border-color:#594b51;border-radius:12px}
#proyectos .project:before{content:"";position:absolute;bottom:-65px;right:-10px;width:65%;height:130px;border-top:2px solid #ff1345;border-radius:50%;transform:rotate(-6deg);filter:drop-shadow(0 0 12px #ff1336)}
#proyectos .project:after{content:"";position:absolute;bottom:-75px;right:-30px;width:60%;height:130px;border-top:1px solid #ffc200;border-radius:50%;transform:rotate(-2deg)}
#proyectos .project>div,#proyectos .project>a{position:relative;z-index:1}
.project h3{font-size:25px;letter-spacing:-.5px}.project p{font-size:17px;color:#eee}
#proyectos .project .btn{background:#0c070b;border-color:#ffc000;color:#ffc000}
.contact-band{margin:20px 0;padding:18px 24px;background:linear-gradient(110deg,#10060b,#190710);border-radius:12px}
.contact-band h2{font-size:20px}.contact-band p{font-size:13px}
.footer{padding:22px 0 30px;border-color:#b81738}
.footerrow{min-height:40px}.tagline{font-size:22px;font-style:italic}
.service,.project,.heroactions .btn{will-change:transform}

/* Preparación para publicación: tarjetas detalladas, contacto y proyecto único */
.skip-to-content{position:fixed;top:-70px;left:12px;background:#ffc400;color:#150407;padding:12px 15px;border-radius:8px;z-index:100;text-decoration:none;font-weight:800}
.skip-to-content:focus{top:12px}
.services{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;align-items:stretch}
.service.service-detailed{display:flex;flex-direction:column;gap:0;min-height:365px;padding:21px 16px 46px;text-decoration:none;color:#fff;isolation:isolate;box-shadow:0 10px 25px #0005}
.service-detailed .svc-icon{display:block;flex:0 0 auto;font-size:31px;margin:0 0 15px;grid-row:auto}
.service-detailed .svc-content{display:flex;flex-direction:column;flex:1;min-width:0}
.service-detailed h3{display:block;font-size:16px;line-height:1.25;margin:0 0 10px;letter-spacing:-.3px}
.service-detailed p{display:block;color:#d9d3d7;font-size:13px;line-height:1.55;margin:0 0 12px}
.svc-details{padding:13px 0 0 17px;margin:0 0 15px;border-top:1px solid #3f2930;list-style-type:square;display:grid;gap:7px}
.svc-details li{font-size:12px;line-height:1.4;color:#eee8eb}
.svc-details li::marker{color:#f61146}
.service-detailed:nth-child(2n) .svc-details li::marker{color:#ffca08}
.service-detailed .svc-action{display:block;margin-top:auto;padding-top:12px;color:#ffd048;font-weight:750;font-size:12px;letter-spacing:-.2px}
.service-detailed .svc-action span{font-size:17px}
.service-detailed:after{height:3px}
.service-detailed .accent{bottom:16px}
.service-detailed:hover .svc-action{text-decoration:underline;text-underline-offset:3px}
.eq-feature{min-height:320px;display:grid;grid-template-columns:64% 36%;position:relative;overflow:hidden;border:1px solid #6a3a4a;border-radius:17px;background:radial-gradient(ellipse 50% 100% at 78% 48%,#6c082652,transparent 82%),linear-gradient(110deg,#160c11,#090709 60%,#21040f);box-shadow:inset 0 1px 0 #ffffff1c,0 14px 32px #0008}
.eq-feature:after{content:"";position:absolute;inset:auto 0 0;background:linear-gradient(90deg,#fb123e,transparent 48%,#f9c00d);height:2px;opacity:.8}
.eq-feature-copy{position:relative;z-index:2;padding:30px 26px 28px 33px;display:flex;flex-direction:column}
.eq-feature-header{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.eq-overline{font-weight:800;font-size:12px;letter-spacing:2px;color:#ffca22}
.eq-development{display:inline-flex;align-items:center;gap:8px;border-radius:99px;border:1px solid #dca93770;color:#ffcf69;font-size:11px;font-weight:800;letter-spacing:1px;padding:6px 10px;background:#2b1b0d}
.eq-dot{width:6px;height:6px;background:#ffbd29;border-radius:50%;box-shadow:0 0 9px #ffce00}
.eq-feature h3{font-size:clamp(28px,3.4vw,46px);font-weight:900;font-style:italic;letter-spacing:-1.2px;margin:19px 0 12px;line-height:1}
.eq-description{font-size:15px;line-height:1.6;color:#f0e7ea;margin:0 0 12px;max-width:780px}
.eq-disclaimer{font-size:12px;line-height:1.5;color:#c5b8be;margin:0 0 18px;max-width:740px}
.eq-features{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.eq-features span{border:1px solid #59454f;background:#23121a;padding:7px 10px;border-radius:7px;font-size:12px;color:#f2e6e9}
.eq-contact-link{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:16px;border:1px solid #f6c423;border-radius:10px;padding:12px 18px;color:#fff;background:#150c0f;font-size:14px;font-weight:800;transition:background .22s,border-color .22s,transform .22s}
.eq-contact-link:hover{transform:translateY(-3px);background:#32121b;border-color:#ffe475}
.eq-feature-art{position:relative;min-height:320px;overflow:hidden;isolation:isolate}
.eq-feature-art:before{content:"";position:absolute;inset:8% 0 0 -17%;background:radial-gradient(circle,#b50943a3,transparent 66%);filter:blur(30px)}
.eq-orbit{position:absolute;border:2px solid #be1744;border-radius:50%;width:280px;height:280px;top:6%;left:8%;box-shadow:0 0 22px #fa0d4370,inset 0 0 15px #f91a474f;animation:eq-rotate 23s linear infinite}
.eq-orbit:before{content:"";position:absolute;inset:-16px;border:1px dashed #eea60d7a;border-radius:50%}
.eq-orbit-inner{top:22%;left:22%;height:187px;width:187px;border-color:#ffc900;animation-duration:16s;animation-direction:reverse}
.eq-vinyl{position:absolute;top:29%;left:29%;width:140px;height:140px;border-radius:50%;background:repeating-radial-gradient(circle,#100a11 0,#100a11 5px,#2d0c1c 6px,#1e0a16 9px);border:2px solid #d01f4f;box-shadow:0 0 26px #c510446b,inset 0 0 10px #000;display:grid;place-items:center;animation:eq-rotate 18s linear infinite}
.eq-disc-core{height:59px;width:59px;border:1px solid #ffca05;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:900;color:#ffbe00;background:#14060d}
.eq-bars{position:absolute;left:0;right:0;bottom:10%;height:57px;display:flex;justify-content:center;align-items:center;gap:5px;opacity:.9}
.eq-bars i{display:block;width:4px;height:20%;border-radius:6px;background:linear-gradient(0deg,#dc0a39,#ffbf1f);box-shadow:0 0 9px #ef123b55;animation:eq-pulse 1.35s ease-in-out infinite alternate}
.eq-bars i:nth-child(3n){animation-delay:-.3s;height:64%}.eq-bars i:nth-child(4n){animation-delay:-.7s;height:92%}.eq-bars i:nth-child(5n){animation-delay:-.9s;height:38%}
.contact-band{display:flex;gap:25px;align-items:center;background:linear-gradient(112deg,#220914,#10070a 62%,#3d1018);border-color:#70394b;padding:25px 30px}
.contact-band h2{font-size:25px}
.contact-band p{font-size:14px;line-height:1.55;max-width:720px;color:#e4d9dd}
.contact-overline{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#ffc825}
.contact-email-link{display:inline-block;margin-top:13px;color:#ffce5b;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.contact-email-link:hover{text-decoration:underline}
.contact-buttons{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.contact-buttons .btn{min-height:43px}
.mail-disclosure{font-size:11px;color:#aa9ea4;margin:0 2px 18px;line-height:1.5}

.brandmark{letter-spacing:-.09em;line-height:1.05}
.brandmark:before{width:94%;height:.55em;left:10%}
.service,.project,.heroactions .btn{will-change:auto}
dialog.modal{max-height:calc(100dvh - 24px);overflow:auto}

/* Contact and quote actions use separate colors and destinations. */
[hidden]{display:none!important}
.btn.btn-gold,.btn.btn-contact{position:relative;isolation:isolate;overflow:hidden;font-weight:800}
.btn.btn-gold{
  color:#221203;border:1px solid #ffe789;
  background:linear-gradient(115deg,#fff1a1,#ffcc38 55%,#e8a817);
  box-shadow:0 4px 18px #e8aa182b,inset 0 1px #fff8;
}
.btn.btn-contact{
  color:#fff1f4;background:linear-gradient(135deg,#561027,#270711);
  border:1px solid #df426d;box-shadow:0 4px 16px #83132a30;
}
.heroactions .btn-gold{font-size:15px;padding-inline:20px}
.headrow .header-quote{min-height:41px;font-size:13px}
.btn-icon{display:inline-block;margin-right:3px}
.is-scrolled{box-shadow:0 7px 30px #0009;border-bottom-color:#ad2947}
.hero-copy{align-self:center;position:relative;z-index:2;min-width:0}
.hero-art{perspective:1000px}
.hero-art-svg{filter:none}
.service.service-detailed{min-height:0;padding:22px 16px 40px;overflow:clip}
.service-symbol{width:30px;height:30px;color:#ffe094;margin:0 0 14px}
.service-detailed p{max-width:none}
.service-details{border-top:1px solid #65505b;margin-top:4px;padding-top:9px}
.service-details summary{list-style:none;color:#fff;font-size:13px;min-height:42px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:8px}
.service-details summary::-webkit-details-marker{display:none}
.disclosure-icon{width:8px;height:8px;border:solid #ffa4b9;border-width:0 2px 2px 0;transform:rotate(45deg);margin-right:5px}
.service-details[open] .disclosure-icon{transform:rotate(225deg)}
.details-content{font-size:13px;color:#eadce0}
.details-content .svc-details{margin:0 0 12px;padding-top:0;border-top:0}
.service-quote{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#ffda66;font-size:13px;font-weight:800;margin-top:auto;border-top:1px solid #61414c}
.service-quote:hover{text-decoration:underline;text-underline-offset:3px}
.quote-section,.contact-band{margin-block:24px}
.quote-section .section-head{flex-wrap:wrap}
.quote-section .section-head h2{white-space:normal}
.quote-form{
  padding:clamp(16px,3vw,34px);background:linear-gradient(135deg,#210b16,#100b12 60%);
  border:1px solid #684150;border-radius:20px;
}
#quote-help,.delivery-note{color:#e6d9df;font-size:14px;line-height:1.55}
.quote-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:18px 0 24px;list-style:none;gap:8px}
.quote-progress li{border-top:2px solid #73515e;padding-top:7px;color:#e7d6dc;font-size:13px;font-weight:650}
.quote-progress li[aria-current]{border-color:#ffcf3c;color:#ffdf7a}
.quote-progress li.done{border-color:#eb537b}
.quote-step,.service-extra,.extra-group{min-inline-size:0;border:0;padding:0;margin:0}
.quote-step>legend{font-size:clamp(19px,2.4vw,25px);font-weight:800;margin:0 0 14px;padding:0}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.extra-group{grid-column:1/-1;display:grid;grid-template-columns:subgrid;gap:inherit}
.full-field{grid-column:1/-1}
.quote-form label,.contact-dialog label{display:block;font-size:14px;font-weight:675;line-height:1.45}
.quote-form label span,.contact-dialog label span{color:#ffd45e}
.quote-form input,.quote-form select,.quote-form textarea,.contact-dialog :is(input,textarea){
  display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;
  margin-top:6px;padding:10px 12px;border:1px solid #805c69;border-radius:9px;color:#fff;
  background:#120d15;font:inherit;font-size:16px;
}
.quote-form select{padding-right:25px}
.quote-form textarea,.contact-dialog textarea{resize:vertical}
.quote-form ::placeholder,.contact-dialog ::placeholder{color:#bfb1bb;opacity:1}
.quote-form :is(input,textarea,select):focus-visible,.contact-dialog :is(input,textarea):focus-visible{
  outline:2px solid #ffd45e;outline-offset:2px;border-color:#ffd45e;
}
.field-error{display:block;color:#ffb3bf;margin-top:4px;font-size:13px}
[aria-invalid=true]{border-color:#ff9cab!important}
#phone-help{display:block;margin-top:4px;color:#e0cbd5}
.service-extra{padding:14px;margin-top:19px;background:#31122270;border:1px solid #b44b693e;border-radius:12px}
.service-extra legend{font-size:13px;font-weight:700;padding:0 6px}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;margin-top:20px}
.form-actions .btn,.contact-options .btn{min-height:44px;white-space:normal;text-align:center}
.quote-summary{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:7px 20px;margin:0}
.quote-summary dt{color:#ffdc81;font-weight:750;margin-top:5px}
.quote-summary dd{margin:0;padding:5px 0 9px;border-bottom:1px solid #654353;white-space:pre-wrap;overflow-wrap:anywhere}
.form-status{font-size:14px;color:#ffdf83}
.form-status:empty{display:none}
.contact-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.contact-dialog{width:min(570px,calc(100% - 24px))}
.contact-dialog .contact-options{margin-top:20px}
.contact-dialog::backdrop{backdrop-filter:none}
.contact-band{align-items:flex-start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.contact-band .contact-email-link{overflow-wrap:anywhere}
.quote-form :is(input,select,textarea),.contact-dialog :is(input,textarea){font-weight:450}
.service-detailed summary,.service-quote{width:100%}

/* Frame the approved artwork at its original aspect ratio. */
.header .brand{width:clamp(185px,21vw,275px);flex:0 1 auto;display:block;line-height:0}
.brand-art{display:block;width:100%;height:auto;overflow:hidden;mix-blend-mode:lighten}
