/*
Theme Name: Klickfest
Theme URI: https://klickfest.at/
Author: Klickfest – Kenny Trappl
Description: Das Klickfest-Design als WordPress-Theme. Texte der Startseite, des Impressums und der Datenschutzerklärung sind im Block-Editor bearbeitbar.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: klickfest
*/

body{margin:0;background:#FFFFFF}
a{color:#111111}a:hover{color:#2F6BFF}
.kf *{box-sizing:border-box}
.kf .mono{font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.02em}
.kf .wrap{max-width:1240px;margin:0 auto;padding:0 40px}
/* rays: draw-in spark */
.kf .ray{stroke-dasharray:1;stroke-dashoffset:0}
.kf .spark .ray{animation:kf-ray 2.4s ease-out infinite}
.kf .spark .ray.r2{animation-delay:.08s}.kf .spark .ray.r3{animation-delay:.16s}
@keyframes kf-ray{0%,30%{stroke-dashoffset:1}55%{stroke-dashoffset:0}85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.kf .spark .cur{transform-box:fill-box;transform-origin:0 0;animation:kf-click 2.4s ease-in-out infinite}
@keyframes kf-click{0%,20%{transform:translate(26px,26px) scale(1)}28%{transform:translate(26px,26px) scale(.86)}36%,100%{transform:translate(26px,26px) scale(1)}}
/* logo hover: rays pop */
.kf .logo .ray{transition:stroke-width .2s}
.kf .logo:hover .ray{animation:kf-ray .7s ease-out}
.kf .logo:hover .word{animation:kf-jelly .6s}
/* nav links: tilt + tricolor underline */
.kf .nl{position:relative;color:#3A3A3A;text-decoration:none;font-size:15px;font-weight:500;padding:12px 2px;display:inline-block;transition:transform .2s}
.kf .nl::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;border-radius:3px;background:linear-gradient(90deg,#FF3D9A 0 33%,#FFC21A 33% 66%,#2F6BFF 66%);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.kf .nl:hover{transform:rotate(-4deg);color:#111111}
.kf .nl:hover::after{transform:scaleX(1)}
/* buttons: swap text + wiggle */
.kf .btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;overflow:hidden;transition:transform .2s;border:0;cursor:pointer;font-family:inherit}
.kf .btn .t1,.kf .btn .t2{display:flex;align-items:center;gap:10px;transition:transform .3s cubic-bezier(.5,1.8,.5,1),opacity .2s}
.kf .btn .t2{position:absolute;inset:0;justify-content:center;transform:translateY(110%);opacity:0}
.kf .btn:hover{transform:rotate(-2deg) scale(1.05)}
.kf .btn:hover .t1{transform:translateY(-110%);opacity:0}
.kf .btn:hover .t2{transform:translateY(0);opacity:1}
/* jelly words */
.kf .jelly{display:inline-block;cursor:default}
.kf .jelly:hover{animation:kf-jelly .7s}
@keyframes kf-jelly{0%{transform:scale(1,1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}55%{transform:scale(1.15,.85)}70%{transform:scale(.95,1.05)}100%{transform:scale(1,1)}}
.kf .party{display:inline-flex}
.kf .party span{display:inline-block;transition:transform .25s cubic-bezier(.5,2,.5,1),color .2s}
.kf .party:hover span:nth-child(3n+1){color:#FF3D9A;transform:translateY(-14px) rotate(-10deg)}
.kf .party:hover span:nth-child(3n+2){color:#FFC21A;transform:translateY(8px) rotate(8deg)}
.kf .party:hover span:nth-child(3n){color:#2F6BFF;transform:translateY(-6px) rotate(-4deg)}
/* cards */
.kf .card{position:relative;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.kf .card:hover{transform:translateY(-8px) rotate(-1deg)}
.kf .card .shot{transition:transform .5s ease}
.kf .card:hover .shot{transform:scale(1.04) rotate(.8deg)}
.kf .card .sticker{position:absolute;top:-14px;right:-10px;padding:8px 14px;border-radius:999px;background:#FFC21A;color:#111111;font-weight:700;font-size:13px;transform:scale(0) rotate(-30deg);transition:transform .35s cubic-bezier(.4,2,.5,1);z-index:2}
.kf .card:hover .sticker{transform:scale(1) rotate(8deg)}
/* services: icon hops */
.kf .svc{transition:transform .3s cubic-bezier(.4,1.6,.5,1),background .2s}
.kf .svc:hover{transform:translateY(-6px);background:#FFFFFF;box-shadow:0 20px 40px rgba(17,17,17,.08)}
.kf .svc .ico{transition:transform .5s cubic-bezier(.4,2,.5,1)}
.kf .svc:hover .ico{transform:rotate(-12deg) scale(1.15) translateY(-4px)}
.kf .svc:nth-child(2n):hover .ico{transform:rotate(12deg) scale(1.15) translateY(-4px)}
/* steps: number flips */
.kf .step .num{display:inline-block;transition:transform .6s cubic-bezier(.4,1.6,.5,1)}
.kf .step:hover .num{transform:rotateY(360deg) scale(1.15)}
.kf .step{transition:background .2s}
.kf .step:hover{background:#FFFFFF}
/* packs: burst in corner */
.kf .pack{position:relative;transition:transform .3s cubic-bezier(.4,1.6,.5,1)}
.kf .pack:hover{transform:rotate(1.5deg) translateY(-6px)}
.kf .pack .burst{position:absolute;top:-22px;left:-22px;transform:scale(0) rotate(-45deg);transition:transform .35s cubic-bezier(.4,2,.5,1)}
.kf .pack:hover .burst{transform:scale(1) rotate(0)}
/* marquee */
.kf .marquee{display:flex;width:max-content;animation:kf-marq 30s linear infinite}
.kf .band:hover .marquee{animation-duration:6s}
@keyframes kf-marq{to{transform:translateX(-50%)}}
/* floating confetti bits in hero */
.kf .bob{animation:kf-bob 5s ease-in-out infinite}
.kf .bob.b2{animation-delay:-1.6s}.kf .bob.b3{animation-delay:-3.2s}
@keyframes kf-bob{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -16px;rotate:25deg}}
/* dodge button */
.kf .dodge{transition:transform .25s cubic-bezier(.4,1.8,.5,1)}
/* headline: every word its own joke */
.kf .fx{display:inline-block;position:relative;cursor:default}
.kf .fx-glitch:hover{animation:kf-glitch .45s steps(2) infinite}
@keyframes kf-glitch{0%{transform:translate(0,0);text-shadow:-4px 0 #FF3D9A,4px 0 #2F6BFF}25%{transform:translate(-3px,2px) skewX(-6deg);text-shadow:4px 0 #FF3D9A,-4px 0 #FFC21A}50%{transform:translate(3px,-2px);text-shadow:-2px 2px #2F6BFF,2px -2px #FF3D9A}75%{transform:translate(-2px,0) skewX(4deg);text-shadow:3px 0 #FFC21A,-3px 0 #2F6BFF}100%{transform:translate(0,0);text-shadow:none}}
.kf .fx-spin{transition:transform .7s cubic-bezier(.4,1.8,.5,1),color .2s}
.kf .fx-spin:hover{transform:rotate(360deg) scale(1.35);color:#FFC21A}
.kf .fx-hang{transform-origin:10% 12%}
.kf .fx-hang::before{content:"";position:absolute;left:7%;top:8%;width:12px;height:12px;border-radius:50%;background:#FFC21A;box-shadow:0 0 0 3px #111111;transform:scale(0);transition:transform .2s cubic-bezier(.4,2,.5,1)}
.kf .fx-hang:hover::before{transform:scale(1)}
.kf .fx-hang:hover{animation:kf-swing 1.4s ease-out}
@keyframes kf-swing{0%{transform:rotate(0)}15%{transform:rotate(16deg)}35%{transform:rotate(-9deg)}55%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
.kf .fx-wink{transition:transform .3s cubic-bezier(.4,2,.5,1),color .2s}
.kf .fx-wink:hover{transform:rotate(-12deg) translateY(-10px) skewX(-10deg);color:#FF3D9A}
.kf .fx-stretch{transform-origin:left center;transition:transform .45s cubic-bezier(.4,1.8,.5,1),color .2s}
.kf .fx-stretch:hover{transform:scaleX(1.3) scaleY(.85);color:#2F6BFF}
/* magic tip chip */
.kf .magic svg .tw{animation:kf-twinkle 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.kf .magic svg .tw.t2{animation-delay:.5s}.kf .magic svg .tw.t3{animation-delay:1s}
@keyframes kf-twinkle{0%,100%{transform:scale(.3);opacity:.3}50%{transform:scale(1.15);opacity:1}}
.kf .magic:hover .wand{animation:kf-wave .6s ease-in-out}
@keyframes kf-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-25deg)}65%{transform:rotate(15deg)}}
.kf .magic .wand{transform-box:fill-box;transform-origin:10% 90%}
/* faq */
.kf .faq{border-bottom:2px solid #111111}
.kf .faq summary{list-style:none;cursor:pointer}
.kf .faq summary::-webkit-details-marker{display:none}
.kf .faq .plus{transition:transform .35s cubic-bezier(.4,1.8,.5,1)}
.kf .faq summary:hover .plus{transform:rotate(90deg) scale(1.1)}
.kf .faq[open] .plus{transform:rotate(45deg)}
.kf .faq[open] summary:hover .plus{transform:rotate(135deg) scale(1.1)}
.kf .faq summary:hover span:first-child{transform:translateX(6px)}
.kf .faq summary span:first-child{transition:transform .25s}
.kf .faq[open] p{animation:kf-faq .35s ease-out}
@keyframes kf-faq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.kf .faqgrid{grid-template-columns:minmax(0,1fr) !important;gap:30px !important}.kf .faq p{padding-right:4px !important}}
/* spoiler */
.kf .spoiler summary{list-style:none;cursor:pointer;display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:32px}
.kf .spoiler summary::-webkit-details-marker{display:none}
.kf .spoiler .sp-hint{padding:4px 10px;border-radius:999px;background:#F4F4F2;color:#111111;transition:transform .25s cubic-bezier(.4,2,.5,1),background .2s}
.kf .spoiler summary:hover .sp-hint{transform:rotate(-3deg) scale(1.06);background:#FFC21A}
.kf .spoiler[open] .sp-hint{background:#111111;color:#FFFFFF}
.kf .spoiler[open] ol{animation:kf-faq .35s ease-out}
/* contact form */
.kf .field{display:flex;flex-direction:column;gap:8px}
.kf .field label{font-size:14px;font-weight:600}
.kf .field input,.kf .field textarea{font:inherit;font-size:16px;color:#111111;background:#F4F4F2;border:2px solid transparent;border-radius:14px;padding:14px 16px;min-height:52px;outline:none;transition:border-color .2s,background .2s,transform .2s;resize:vertical}
.kf .field input::placeholder,.kf .field textarea::placeholder{color:#8A8A8A}
.kf .field input:hover,.kf .field textarea:hover{background:#EDEDEA}
.kf .field input:focus,.kf .field textarea:focus{border-color:#2F6BFF;background:#FFFFFF;transform:translateY(-2px)}
.kf .field:nth-child(3n) input:focus,.kf .field:nth-child(3n) textarea:focus{border-color:#FF3D9A}
.kf .cok{animation:kf-pop2 .5s cubic-bezier(.4,1.8,.5,1)}
@keyframes kf-pop2{from{transform:scale(.8) rotate(-2deg);opacity:0}to{transform:none;opacity:1}}
@media (max-width:900px){.kf .cform{grid-template-columns:minmax(0,1fr) !important}}
/* secret code card */
.kf .scard-wrap{position:fixed;inset:0;z-index:9500;background:rgba(17,17,17,.55);display:flex;align-items:center;justify-content:center;padding:16px;animation:kf-faq .3s ease-out}
.kf .scard{max-width:520px;width:100%;background:#111111;color:#FFFFFF;border-radius:32px;padding:40px;display:flex;flex-direction:column;gap:18px;box-shadow:0 40px 80px rgba(0,0,0,.4);animation:kf-pop2 .5s cubic-bezier(.4,1.8,.5,1)}
.kf .scode{font-size:40px;font-weight:500;letter-spacing:.12em;text-align:center;padding:18px;border-radius:18px;border:3px dashed #FFC21A;background:linear-gradient(90deg,#FF3D9A,#FFC21A,#2F6BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
[hidden]{display:none !important}
/* secrets */
.kf .wine{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline dotted #C9C9C4;text-underline-offset:3px}
.kf .wine:hover{color:#7B2D8E}
.kf .gold .gdot{background:radial-gradient(circle at 35% 30%,#FFF3B0 0 18%,#FFC21A 45%,#D99A00 100%) !important;animation:kf-bob 5s ease-in-out -1.6s infinite;transition:transform .25s cubic-bezier(.4,2,.5,1)}
.kf .gold .gdot::after{content:"";position:absolute;top:-6px;right:-6px;width:8px;height:8px;background:#FFE58A;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:kf-twinkle 1.6s ease-in-out infinite}
.kf .gold:hover .gdot{animation-play-state:paused;transform:scale(1.35)}
.kf .gold:active .gdot{transform:scale(.9)}
.kf .bubble{animation:kf-pop .35s cubic-bezier(.4,2,.5,1)}
.kf .bubble::after{content:"";position:absolute;left:50%;bottom:-8px;width:16px;height:16px;background:#111111;transform:translateX(-50%) rotate(45deg);border-radius:3px}
@keyframes kf-pop{from{transform:translateX(-50%) scale(.4);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}
.kf .toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:16px 24px;border-radius:18px;background:#111111;color:#FFFFFF;font-weight:600;font-size:16px;z-index:9000;box-shadow:0 20px 40px rgba(0,0,0,.25);animation:kf-toast .4s cubic-bezier(.4,1.8,.5,1);text-align:center}
@keyframes kf-toast{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.kf .tracker{position:fixed;left:20px;bottom:24px;padding:10px 14px;border-radius:999px;background:#FFFFFF;border:2px solid #111111;font-size:13px;z-index:8999}
/* party mode */
.kf.party-on{animation:kf-disco 1.6s steps(1) infinite}
@keyframes kf-disco{0%{background:#FFFFFF}25%{background:#FFF0F7}50%{background:#FFF8DE}75%{background:#EEF3FF}}
.kf.party-on h1,.kf.party-on h2{animation:kf-dance .5s ease-in-out infinite alternate}
@keyframes kf-dance{from{transform:rotate(-1.5deg) translateY(0)}to{transform:rotate(1.5deg) translateY(-6px)}}
.kf.party-on .marquee{animation-duration:4s}
.kf.party-on .card{animation:kf-dance .6s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.kf.party-on,.kf.party-on h1,.kf.party-on h2,.kf.party-on .card{animation:none}}
/* confetti pieces */
.kf .piece{position:absolute;pointer-events:none;transition:transform 1.05s cubic-bezier(.15,.75,.35,1),opacity 1.15s ease-in}
.kf .work{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.kf .s7{grid-column:span 7}.kf .s5{grid-column:span 5}.kf .s4{grid-column:span 4}
.kf .g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kf .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kf .hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}

/* ---------- WordPress: Bausteine aus dem Block-Editor ---------- */
.kf p,.kf h1,.kf h2,.kf h3,.kf ul{margin:0}
.kf :where(.wp-block-group)>*{margin-block:0}
.kf h1 em,.kf h2 em{font-style:normal;color:#8A8A8A}
.kf h1 strong,.kf h2 strong{font-weight:inherit}
.kf .c-pink{color:#FF3D9A}.kf .c-gold{color:#B07F00}.kf .c-amber{color:#E0A800}.kf .c-blue{color:#2F6BFF}.kf .c-yellow{color:#FFC21A}.kf .c-muted{color:#5A5A5A}.kf .c-white{color:#FFFFFF}
.kf .kf-pad{padding-top:130px;padding-bottom:130px}
.kf .kf-pad-b{padding-bottom:130px}
.kf .kf-eyebrow{font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.02em;font-size:13px;margin-bottom:14px}
.kf .kf-h2{font-size:clamp(42px,5.6vw,84px);line-height:.95;letter-spacing:-.05em;font-weight:700}
.kf .kf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.kf .kf-intro{max-width:380px;font-size:17px;line-height:1.6;color:#4A4A4A}
.kf .kf-card-title{font-size:23px;font-weight:700;letter-spacing:-.02em}
/* hero */
.kf .hero{padding-top:48px;padding-bottom:110px}
.kf .kf-hero-text{display:flex;flex-direction:column;gap:30px}
.kf .kf-magic{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;padding:9px 18px 9px 12px;border-radius:999px;background:#111111;color:#CFCFCF;font-size:15px}
.kf .kf-magic strong{font-weight:700;color:#FFFFFF}
.kf .kf-hero-title{font-size:clamp(54px,7.6vw,118px);line-height:.92;letter-spacing:-.055em;font-weight:700}
.kf .kf-lead{max-width:520px;font-size:20px;line-height:1.55;color:#4A4A4A}
.kf .kf-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;min-height:60px}
/* leistungen */
.kf .svc{display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:24px;background:#F4F4F2}
.kf .svc p,.kf .step p{font-size:16px;line-height:1.55;color:#4A4A4A}
/* ablauf */
.kf .kf-sec-gray{background:#F4F4F2;padding:120px 0}
.kf .kf-sec-gray .kf-h2{margin-bottom:60px;max-width:900px}
.kf .step{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:24px;background:#FAFAF8;min-height:290px}
.kf .step.dark,.kf .step.dark:hover{background:#111111;color:#FFFFFF}
.kf .step.dark p:not(.num){color:#CFCFCF}
.kf .step .num{align-self:flex-start;font-weight:700;font-size:60px;letter-spacing:-.05em;line-height:1}
/* pakete */
.kf #pakete .kf-head{margin-bottom:60px}
.kf #pakete .kf-intro{max-width:360px}
.kf .pack{display:flex;flex-direction:column;gap:20px;padding:36px;border-radius:28px;background:#F4F4F2}
.kf .pack.dark{background:#111111;color:#FFFFFF}
.kf .kf-pack-name{display:flex;justify-content:space-between;align-items:center;font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.02em;font-size:13px;color:#5A5A5A}
.kf .pack.dark .kf-pack-name{color:#BDBDBD}
.kf .kf-pack-name strong{font-weight:400;padding:5px 10px;border-radius:999px;background:#FFC21A;color:#111111;font-size:11px}
.kf .kf-price{font-weight:700;font-size:52px;letter-spacing:-.04em;line-height:1}
.kf .pack p:not(.kf-pack-name):not(.kf-price){font-size:16px;line-height:1.55;color:#4A4A4A}
.kf .pack.dark p:not(.kf-pack-name):not(.kf-price){color:#CFCFCF}
.kf .kf-checks{list-style:none;padding:18px 0 0;border-top:1px solid #E2E2DE;display:flex;flex-direction:column;gap:10px;font-size:16px}
.kf .kf-checks li::before{content:"✓ "}
.kf .pack.dark .kf-checks{border-top-color:rgba(255,255,255,.15)}
/* faq */
.kf .faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:start}
.kf .faqgrid .kf-h2{margin-bottom:20px}
.kf .faqgrid .kf-intro{max-width:360px}
.kf .kf-faqlist{border-top:2px solid #111111}
.kf .faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 4px;font-size:22px;font-weight:700;letter-spacing:-.02em}
.kf .faq .plus{flex-shrink:0;width:44px;height:44px;border-radius:50%;color:#111111;display:flex;align-items:center;justify-content:center}
.kf .faq p{margin:0 0 26px;padding:0 60px 0 4px;font-size:17px;line-height:1.6;color:#4A4A4A}
/* warum */
.kf .kf-sec-dark{background:#111111;color:#FFFFFF;padding:130px 0}
.kf .kf-sec-dark .kf-h2{margin-bottom:70px;max-width:1000px}
.kf .kf-why-grid{gap:40px}
.kf .kf-why-item{display:flex;flex-direction:column;gap:14px;border-top:3px solid #FF3D9A;padding-top:24px}
.kf .kf-why-item.b-gold{border-top-color:#FFC21A}.kf .kf-why-item.b-blue{border-top-color:#2F6BFF}
.kf .kf-why-item h3{font-size:25px;font-weight:700;letter-spacing:-.02em}
.kf .kf-why-item p{font-size:17px;line-height:1.6;color:#CFCFCF}
.kf .kf-sec-dark h2 strong:nth-of-type(2){color:#FF3D9A}
/* kontakt */
.kf #kontakt{padding-top:120px;padding-bottom:90px}
.kf .kf-contact{position:relative;border-radius:40px;background:#F4F4F2;padding:clamp(40px,7vw,96px);overflow:hidden}
.kf .kf-contact .kf-eyebrow{position:relative;margin-bottom:18px}
.kf .kf-contact-title{position:relative;font-size:clamp(50px,8vw,128px);line-height:.9;letter-spacing:-.06em;font-weight:700;max-width:950px}
.kf .kf-contact-lead{position:relative;margin:30px 0 38px !important;max-width:520px;font-size:20px;line-height:1.5;color:#4A4A4A}
/* footer */
.kf .kf-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;padding-bottom:44px;border-top:1px solid #E8E8E4}

@media (max-width:900px){
.kf .wrap{padding-left:20px;padding-right:20px}
.kf .hero,.kf .work,.kf .g4,.kf .g3{grid-template-columns:minmax(0,1fr)}
.kf .s7,.kf .s5,.kf .s4{grid-column:span 1}
.kf .hidesm{display:none !important}
}
@media (prefers-reduced-motion:reduce){
.kf .spark .ray,.kf .spark .cur,.kf .marquee,.kf .bob{animation:none}
.kf .piece{transition:none}
}

/* ---------- Rechtliche Seiten (Impressum, Datenschutz) ---------- */
.lg{font-family:'Geist',system-ui,sans-serif;color:#111111;background:#FFFFFF}
.lg *{box-sizing:border-box}
.lg .wrap{max-width:820px;margin:0 auto;padding:0 24px}
.lg header{display:flex;align-items:center;justify-content:space-between;gap:16px;height:88px;max-width:1240px;margin:0 auto;padding:0 24px}
.lg .back{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;background:#F4F4F2;color:#111111;text-decoration:none;font-weight:600;font-size:15px;transition:transform .2s}
.lg .back:hover{transform:translateX(-4px) rotate(-2deg);background:#FFC21A;color:#111111}
.lg h1{font-size:clamp(44px,7vw,88px);line-height:.95;letter-spacing:-.05em;font-weight:700;margin:40px 0 16px}
.lg .lead{font-size:19px;line-height:1.55;color:#4A4A4A;margin:0 0 40px;max-width:640px}
.lg h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:40px 0 12px;padding-top:24px;border-top:2px solid #111111}
.lg p{font-size:17px;line-height:1.65;color:#3A3A3A;margin:0 0 14px}
.lg main a{color:#2F6BFF}
.lg main a:hover{color:#111111}
.lg mark{background:#FFE58A;color:#111111;padding:0 4px;border-radius:4px}
.lg .stand{margin-top:40px;font-family:'Geist Mono',monospace;font-size:13px;color:#6A6A6A}
.lg footer{max-width:820px;margin:80px auto 0;padding:28px 24px 44px;border-top:1px solid #E8E8E4;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:'Geist Mono',monospace;font-size:13px;color:#5A5A5A}
.lg footer a{color:#5A5A5A}
