:root{--navy:#1F3A52;--deep:#0E2233;--green:#2F4626;--leaf:#5E8C3A;--amber:#F2B33D;--paper:#F3F1EA;--ink:#0F1D29;--mute:#5C6B78;--line:rgba(15,29,41,.14);--px:clamp(20px,5vw,110px);--ease:cubic-bezier(.77,0,.18,1);--out:cubic-bezier(.2,.7,.1,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Archivo,system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:clamp(16px,.55vw + 12px,20px);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}ul{list-style:none}
i{font-style:normal}
h1 i,h2 i,.big i{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;letter-spacing:-.01em;text-transform:none}
[data-t],[data-th]{transition:opacity .22s ease,transform .22s ease}
body.swap [data-t],body.swap [data-th],body.swap .jobs,body.swap .svc-list{opacity:0;transform:translateY(6px)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.5em;border-radius:999px;font-weight:700;font-size:.82em;letter-spacing:.06em;text-transform:uppercase;transition:transform .3s var(--out),background .3s,color .3s,box-shadow .3s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--amber);color:var(--deep)}.btn-accent:hover{box-shadow:0 12px 30px -10px rgba(242,179,61,.8)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:#fff;color:var(--deep)}
.btn-dark{background:var(--deep);color:#fff}.btn-line{border:1.5px solid var(--line)}
.btn::after{content:"";width:.5em;height:.5em;border-top:2px solid;border-right:2px solid;transform:rotate(45deg);transition:transform .3s var(--out)}
.btn:hover::after{transform:translateX(3px) rotate(45deg)}
.btn.plain::after{display:none}

/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:2vw;padding:clamp(12px,1.4vw,22px) var(--px);color:#fff;transition:background .4s,color .4s,padding .4s,box-shadow .4s}
.hd.sc{background:rgba(243,241,234,.92);backdrop-filter:blur(14px);color:var(--ink);padding-block:10px;box-shadow:0 1px 0 var(--line)}
.logo{position:relative;display:block;width:clamp(150px,14vw,240px);aspect-ratio:3/1;flex:none}
.logo i{position:absolute;inset:0;background:center/124% auto no-repeat;transition:opacity .4s}
.logo .lw{background-image:url(logo-3.png)}.logo .lc{background-image:url(logo-color.png);opacity:0;mix-blend-mode:multiply}
.hd.sc .lw{opacity:0}.hd.sc .lc{opacity:1}
.nav{display:flex;gap:clamp(16px,2.4vw,44px);font-weight:600;font-size:.86em;letter-spacing:.02em}
.nav a{position:relative;padding:.4em 0}.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hd-r{display:flex;align-items:center;gap:clamp(10px,1.2vw,20px)}
.lang{position:relative;display:flex;border:1.5px solid currentColor;border-radius:999px;padding:3px;font-size:.74em;font-weight:800;letter-spacing:.08em}
.lang button{position:relative;z-index:1;padding:.45em .95em;border-radius:999px;transition:color .35s}
.lang-th{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:currentColor;transition:transform .45s var(--ease)}
[lang=es] .lang-th{transform:translateX(100%)}
.lang button.on{color:var(--deep)}.hd.sc .lang button.on{color:var(--paper)}
.burger{display:none;width:40px;height:40px;position:relative}
.burger i{position:absolute;left:9px;right:9px;height:2px;background:currentColor;transition:transform .35s var(--ease)}
.burger i:first-child{top:15px}.burger i:last-child{top:23px}
.menu .burger i:first-child{transform:translateY(4px) rotate(45deg)}.menu .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{position:relative;height:100svh;min-height:600px;background:var(--deep);color:#fff;overflow:hidden}
.slides,.slide{position:absolute;inset:0}
.slide{visibility:hidden;clip-path:inset(0 0 0 100%);z-index:1}
.slide.prev{visibility:visible;clip-path:inset(0);z-index:2}
.slide.on{visibility:visible;clip-path:inset(0);z-index:3;transition:clip-path 1.2s var(--ease)}
.slide .bg{position:absolute;inset:-2%;background:center/cover no-repeat;transform:scale(1.14);will-change:transform}
.slide.on .bg{transform:scale(1);transition:transform 8s cubic-bezier(.2,.5,.2,1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,37,.9) 0%,rgba(9,24,37,.62) 42%,rgba(9,24,37,.15) 78%),linear-gradient(0deg,rgba(9,24,37,.85) 0%,transparent 38%)}
.s1 .bg{background-image:linear-gradient(135deg,#17364f,#0c1f2e)}.s2 .bg{background-image:linear-gradient(135deg,#2f4626,#12261a)}.s3 .bg{background-image:linear-gradient(135deg,#3b4654,#141c26)}.s4 .bg{background-image:linear-gradient(135deg,#27482f,#0e2233)}
.slide .tx{position:absolute;z-index:2;left:var(--px);right:var(--px);bottom:clamp(150px,22vh,260px);max-width:min(92vw,70ch)}
.eyebrow{display:inline-flex;align-items:center;gap:.8em;font-size:.78em;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1.4em}
.eyebrow::before{content:"";width:3em;height:2px;background:currentColor}
.slide h1{font-size:clamp(44px,8.6vw,170px);line-height:.9;font-weight:800;font-stretch:88%;letter-spacing:-.035em;text-transform:uppercase;max-width:none;width:max-content;max-width:92vw}
.ln{display:block;overflow:hidden;padding-bottom:.08em}
.ln>span{display:block;transform:translateY(112%)}
.slide.on .ln>span{transform:none;transition:transform 1s var(--out) .45s}
.slide.on .ln:nth-child(2)>span{transition-delay:.56s}
.slide h1 .ln:nth-child(2){font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.02em;font-stretch:100%;color:#DDE8D2}
.slide .sub,.slide .acts,.slide .eyebrow{opacity:0;transform:translateY(18px)}
.slide.on .sub,.slide.on .acts,.slide.on .eyebrow{opacity:1;transform:none;transition:opacity .8s ease .75s,transform .8s var(--out) .75s}
.slide.on .eyebrow{transition-delay:.35s}.slide.on .acts{transition-delay:.9s}
.slide .sub{margin-top:1.5em;max-width:46ch;font-size:clamp(16px,1.25vw,23px);color:rgba(255,255,255,.86)}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:2em}
.hero-count{position:absolute;z-index:5;right:var(--px);top:50%;transform:translateY(-50%);display:flex;align-items:baseline;gap:.35em;font-weight:800;font-stretch:80%}
.hero-count b{font-size:clamp(40px,5vw,96px);line-height:1;display:inline-block}.hero-count b.tick{animation:tick .7s var(--out)}
.hero-count span,.hero-count em{font-style:normal;opacity:.55;font-size:1em}
@keyframes tick{from{transform:translateY(40%);opacity:0}}
.hnav{position:absolute;z-index:6;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--px)}
.hnav button{position:relative;text-align:left;padding:1.3em 1.2em clamp(18px,3vh,34px) 0;color:rgba(255,255,255,.55);transition:color .4s;font-weight:600;font-size:.84em}
.hnav button b{display:block;font-size:.8em;letter-spacing:.14em;margin-bottom:.3em;font-weight:800}
.hnav button::before,.hnav button i{content:"";position:absolute;left:0;right:1.2em;top:0;height:2px;background:rgba(255,255,255,.25)}
.hnav button i{background:var(--amber);transform:scaleX(0);transform-origin:left}
.hnav button.on{color:#fff}.hnav button.on i{animation:fill var(--dur,7s) linear forwards}
.hero:hover .hnav button.on i,.hero.hold .hnav button.on i{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}

/* strip */
.strip{background:var(--green);color:#E8F0DF;overflow:hidden;white-space:nowrap;font-size:.8em;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.strip-in{display:inline-flex;animation:mq 46s linear infinite}
.strip span{padding:1.2em 2.2em;display:inline-flex;align-items:center;gap:2.2em}
.strip span::after{content:"";width:7px;height:7px;background:var(--amber);transform:rotate(45deg);margin-left:2.2em}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:clamp(70px,10vw,190px) var(--px)}
.kicker{font-size:.76em;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--leaf);margin-bottom:1.4em;display:flex;align-items:center;gap:.8em}
.kicker::before{content:"";width:2.4em;height:2px;background:currentColor}
.big{font-size:clamp(38px,7.4vw,150px);line-height:.95;font-weight:800;font-stretch:88%;letter-spacing:-.035em;text-transform:uppercase}
.big i{color:var(--green)}
.h2{font-size:clamp(32px,5.2vw,104px);line-height:.98;font-weight:800;font-stretch:90%;letter-spacing:-.03em}
.h2 i{color:var(--leaf)}
.intro-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(30px,6vw,120px);margin-top:clamp(40px,6vw,110px);align-items:start}
.lead{font-size:clamp(18px,1.55vw,30px);line-height:1.4;color:#2A3A47}
.facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1.5px solid var(--ink)}
.facts li{padding:clamp(18px,2vw,36px) 0;border-bottom:1px solid var(--line)}
.facts li:nth-child(odd){padding-right:1em;border-right:1px solid var(--line)}.facts li:nth-child(even){padding-left:clamp(16px,2vw,36px)}
.facts b{display:block;font-size:clamp(26px,3vw,60px);font-stretch:85%;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.05}
.facts span{font-size:.82em;color:var(--mute);font-weight:600}

.services{background:#fff;padding-bottom:clamp(40px,5vw,90px)}
.sec-h{margin-bottom:clamp(36px,5vw,90px)}
.svc{display:grid;grid-template-columns:clamp(46px,7vw,140px) minmax(0,1.1fr) minmax(0,1fr) 60px;align-items:center;gap:clamp(12px,2vw,40px);padding:clamp(20px,2.4vw,44px) 0;border-top:1px solid var(--line);position:relative;transition:color .45s,padding .5s var(--out)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc::before{content:"";position:absolute;inset:0 calc(var(--px) * -1);background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:0}
.svc>*{position:relative;z-index:1}
.svc:hover{color:#fff;padding-left:clamp(0px,1.2vw,24px)}.svc:hover::before{transform:scaleY(1)}
.svc b{font-size:.8em;letter-spacing:.14em;color:var(--leaf);font-weight:800}.svc:hover b{color:var(--amber)}
.svc h3{font-size:clamp(24px,3.4vw,68px);line-height:1;font-weight:800;font-stretch:88%;letter-spacing:-.025em}
.svc p{color:var(--mute);font-size:.95em;max-width:46ch;transition:color .45s}.svc:hover p{color:rgba(255,255,255,.82)}
.svc em{justify-self:end;width:clamp(38px,3.4vw,58px);aspect-ratio:1;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .5s var(--out),background .4s}
.svc em::after{content:"";width:28%;height:28%;border-top:2px solid;border-right:2px solid;transform:translate(-12%,12%)}
.svc:hover em{transform:rotate(45deg);background:var(--amber);color:var(--deep);border-color:var(--amber)}

.utility{position:relative;color:#fff;background:var(--deep);overflow:hidden}
.utility-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,34,51,.86),rgba(14,34,51,.96)),center/cover no-repeat;background-attachment:scroll,fixed}
.utility-in{position:relative;padding:clamp(80px,11vw,200px) var(--px)}
.utility .kicker{color:var(--amber)}.utility .h2 i{color:#B9D49E}
.ut-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0;margin-top:clamp(40px,6vw,110px);border-top:1px solid rgba(255,255,255,.22)}
.ut-g article{padding:clamp(24px,3vw,56px) clamp(16px,3vw,56px) 0 0;border-right:1px solid rgba(255,255,255,.14)}
.ut-g article+article{padding-left:clamp(16px,3vw,56px)}.ut-g article:last-child{border-right:0}
.ut-g b{font-size:.8em;letter-spacing:.14em;color:var(--amber)}
.ut-g h3{font-size:clamp(22px,2.2vw,42px);font-stretch:90%;line-height:1.05;margin:.6em 0 .5em;font-weight:800;letter-spacing:-.02em}
.ut-g p{color:rgba(255,255,255,.74);max-width:38ch}

.perks{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(20px,2.4vw,40px)}
.perks li{padding:.6em 1.15em;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:.82em}
.perks li::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;background:var(--leaf);margin-right:.6em}
.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(14px,1.6vw,28px);transition:opacity .22s,transform .22s}
.job{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:clamp(18px,1.6vw,30px);padding:clamp(24px,2.6vw,48px);min-height:clamp(380px,32vw,560px);overflow:hidden;transition:transform .6s var(--out),box-shadow .6s,color .5s;isolation:isolate}
.job::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,var(--navy),var(--deep));clip-path:circle(0 at 100% 0);transition:clip-path .8s var(--ease);z-index:-1}
.job:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(14,34,51,.65);color:#fff}.job:hover::before{clip-path:circle(150% at 100% 0)}
.job .tag{align-self:flex-start;font-size:.7em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.5em .9em;border-radius:999px;background:rgba(94,140,58,.16);color:var(--green);transition:background .5s,color .5s}
.job:hover .tag{background:var(--amber);color:var(--deep)}
.job h3{font-size:clamp(28px,2.9vw,58px);line-height:1;font-weight:800;font-stretch:88%;letter-spacing:-.03em;margin:.7em 0 .45em}
.job .meta{font-size:.8em;font-weight:700;color:var(--mute);transition:color .5s}.job:hover .meta,.job:hover p,.job:hover li{color:rgba(255,255,255,.8)}
.job p{margin-top:1em;color:#34424E;transition:color .5s}
.job ul{margin:1.1em 0 1.6em}.job li{padding:.55em 0 .55em 1.5em;border-top:1px solid var(--line);position:relative;font-size:.92em;color:#34424E;transition:color .5s,border-color .5s}
.job:hover li{border-color:rgba(255,255,255,.16)}
.job li::before{content:"";position:absolute;left:0;top:1.05em;width:.7em;height:2px;background:var(--leaf)}
.job .go{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.job .go small{font-weight:700;color:var(--mute);transition:color .5s}.job:hover .go small{color:rgba(255,255,255,.7)}
.job:hover .btn-dark{background:var(--amber);color:var(--deep)}
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(20px,3vw,60px);margin-top:clamp(50px,6vw,110px);padding-top:clamp(30px,3vw,56px);border-top:1.5px solid var(--ink)}
.how b{display:grid;place-items:center;width:2.6em;height:2.6em;border-radius:50%;background:var(--green);color:#fff;font-weight:800}
.how h3{font-size:clamp(20px,1.7vw,32px);font-stretch:92%;font-weight:800;letter-spacing:-.015em;margin:.8em 0 .35em}.how p{color:var(--mute);max-width:40ch}

.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,120px);background:#fff;align-items:end}
.ct-big{display:block;font-size:clamp(34px,5.6vw,116px);font-weight:800;font-stretch:84%;letter-spacing:-.03em;line-height:1;color:var(--navy);transition:color .3s}.ct-big:hover{color:var(--leaf)}
.ct-line{display:block;font-size:clamp(18px,1.6vw,30px);font-weight:600;margin-top:.5em}.ct-note{margin-top:1.4em;color:var(--mute);font-size:.9em;max-width:44ch}
.ft{background:var(--deep);color:rgba(255,255,255,.72);padding:clamp(40px,5vw,90px) var(--px) 30px;display:grid;grid-template-columns:auto 1fr auto;gap:24px clamp(20px,4vw,80px);align-items:center;font-size:.86em}
.ft nav{display:flex;flex-wrap:wrap;gap:1.6em;font-weight:700}.ft nav a:hover{color:var(--amber)}.ft small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;opacity:.7}
.ft .lw{opacity:1!important}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform 1s var(--out)}
.rv.in{opacity:1;transform:none}

/* application wizard */
.wz{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(280px,30vw) 1fr;background:var(--paper);transform:translateY(100%);visibility:hidden;transition:transform .8s var(--ease),visibility 0s .8s}
.wz.open{transform:none;visibility:visible;transition:transform .8s var(--ease)}
.wz-a{background:linear-gradient(170deg,var(--navy),var(--deep));color:#fff;padding:clamp(22px,3vw,56px);display:flex;flex-direction:column;overflow:auto}
.wz-a .logo{width:clamp(150px,12vw,210px)}.wz-a .lw{opacity:1}
.wz-a h2{font-size:clamp(26px,2.6vw,50px);line-height:1;font-stretch:88%;font-weight:800;letter-spacing:-.03em;margin:clamp(24px,4vh,60px) 0 .4em}
.wz-a .hint{color:rgba(255,255,255,.72);font-size:.86em}.wz-a .hint b{color:var(--amber);display:block;margin-bottom:.3em}
.wz-steps{margin:clamp(20px,3vh,44px) 0;counter-reset:s}
.wz-steps li{counter-increment:s;display:flex;align-items:center;gap:.9em;padding:.62em 0;font-weight:700;font-size:.9em;color:rgba(255,255,255,.45);transition:color .4s}
.wz-steps li::before{content:counter(s);display:grid;place-items:center;width:2em;height:2em;border-radius:50%;border:1.5px solid currentColor;font-size:.82em;transition:background .4s,color .4s,border-color .4s}
.wz-steps li.cur{color:#fff}.wz-steps li.cur::before{background:var(--amber);border-color:var(--amber);color:var(--deep)}
.wz-steps li.ok{color:rgba(255,255,255,.8)}.wz-steps li.ok::before{content:"";background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/60% no-repeat;border-color:var(--leaf)}
.wz-a .saved{margin-top:auto;font-size:.76em;color:rgba(255,255,255,.55)}
.wz-m{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.wz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px clamp(20px,4vw,80px);border-bottom:1px solid var(--line)}
.wz-prog{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden;max-width:520px}.wz-prog i{display:block;height:100%;background:var(--leaf);transition:width .7s var(--ease)}
.wz-x{font-weight:700;font-size:.82em;padding:.6em 1em;border-radius:999px;border:1.5px solid var(--line)}.wz-x:hover{background:var(--ink);color:#fff}
.wz-body{flex:1;overflow:auto;padding:clamp(24px,4vw,70px) clamp(20px,4vw,80px)}
.wz-pane{animation:pin .55s var(--out)}.wz-pane.back{animation-name:pinb}
@keyframes pin{from{opacity:0;transform:translateX(46px)}}@keyframes pinb{from{opacity:0;transform:translateX(-46px)}}
.wz-pane h3{font-size:clamp(30px,3.6vw,68px);line-height:1;font-stretch:88%;font-weight:800;letter-spacing:-.03em}
.wz-pane>p{color:var(--mute);margin:.6em 0 clamp(22px,2.6vw,44px);max-width:60ch}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(14px,1.5vw,26px) clamp(14px,2vw,34px)}
.fd{display:flex;flex-direction:column;gap:.5em}.fd.wide{grid-column:1/-1}
.fd>label,.fd>span.lb{font-weight:700;font-size:.86em}.fd small{font-weight:500;color:var(--mute)}
.fd input:not([type=file]),.fd select,.fd textarea{font:inherit;padding:.85em 1em;border-radius:14px;border:1.5px solid var(--line);background:#fff;width:100%;transition:border-color .25s,box-shadow .25s}
.fd textarea{min-height:5.5em;resize:vertical}
.fd input:focus,.fd select:focus,.fd textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(31,58,82,.12)}
.fd.bad input,.fd.bad select,.fd.bad .yn,.fd.bad .chips,.fd.bad .sig{border-color:#C8452E;box-shadow:0 0 0 4px rgba(200,69,46,.12)}
.yn{display:inline-grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;max-width:260px}
.yn button{padding:.8em 1em;font-weight:700;transition:background .25s,color .25s}.yn button.on{background:var(--navy);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px;border:1.5px solid transparent;border-radius:14px}
.chips button{padding:.6em 1.05em;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:.9em;transition:all .25s}
.chips button.on{background:var(--green);border-color:var(--green);color:#fff}
.grp{grid-column:1/-1;font-weight:800;font-size:.76em;letter-spacing:.16em;text-transform:uppercase;color:var(--leaf);padding-top:1em;border-top:1px solid var(--line);margin-top:.4em}
.drop{position:relative;display:flex;align-items:center;gap:1em;padding:1.1em;border:1.5px dashed rgba(15,29,41,.3);border-radius:16px;background:#fff;font-weight:600;font-size:.9em;color:var(--mute);cursor:pointer;transition:border-color .25s,background .25s}
.drop:hover{border-color:var(--navy);background:#F8FAFB}.drop.has{border-style:solid;border-color:var(--leaf);color:var(--ink)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop::before{content:"";flex:none;width:2.4em;height:2.4em;border-radius:50%;background:rgba(94,140,58,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F4626' stroke-width='2'%3E%3Cpath d='M12 16V5m0 0l-4 4m4-4l4 4M5 19h14'/%3E%3C/svg%3E") center/50% no-repeat}
.mtabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin-bottom:18px}
.mtabs button{padding:1.2em;border-radius:18px;border:1.5px solid var(--line);background:#fff;font-weight:800;text-align:left;transition:all .3s}
.mtabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.stage{border-radius:22px;background:var(--deep);color:#fff;padding:clamp(14px,1.6vw,26px);display:grid;gap:14px;justify-items:start;max-width:820px}
.stage video{width:100%;max-height:46vh;border-radius:14px;background:#000}.stage audio{width:100%}
.stage .rec{display:inline-flex;align-items:center;gap:.6em;font-weight:800;font-variant-numeric:tabular-nums}
.stage .rec::before{content:"";width:.8em;height:.8em;border-radius:50%;background:#E5482F;animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.25}}
.wave{display:flex;align-items:center;gap:4px;height:70px}.wave i{width:5px;border-radius:3px;background:var(--amber);height:20%;animation:wv 1s ease-in-out infinite}
.wave i:nth-child(odd){animation-duration:.7s}.wave i:nth-child(3n){animation-duration:1.3s}@keyframes wv{50%{height:100%}}
.ack{grid-column:1/-1;display:flex;gap:.9em;align-items:flex-start;padding:1em 1.1em;border-radius:16px;background:#fff;border:1.5px solid var(--line);cursor:pointer;font-weight:600;font-size:.94em}
.ack input{width:1.3em;height:1.3em;margin-top:.15em;accent-color:var(--green);flex:none}.ack.bad{border-color:#C8452E}
.sig{position:relative;border:1.5px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.sig canvas{display:block;width:100%;height:170px;touch-action:none;cursor:crosshair}.sig button{position:absolute;right:10px;top:10px;font-size:.78em;font-weight:700;padding:.4em .8em;border-radius:999px;border:1px solid var(--line);background:#fff}
.wz-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px clamp(20px,4vw,80px);border-top:1px solid var(--line);background:rgba(243,241,234,.9)}
.wz-foot .err{color:#B23A25;font-weight:700;font-size:.84em;margin-right:auto;margin-left:1em}
.done{display:grid;gap:1em;justify-items:start;max-width:900px}
.done .ck{width:76px;height:76px;border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/52% no-repeat;animation:pop .7s var(--out)}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;width:100%}
.slots button{padding:1em;border-radius:16px;border:1.5px solid var(--line);background:#fff;font-weight:700;text-align:left;transition:all .25s}.slots button:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-2px)}
.booked{padding:1em 1.2em;border-radius:16px;background:rgba(94,140,58,.16);font-weight:700;color:var(--green)}

@media (max-width:900px){
  .nav{position:fixed;inset:0;background:var(--deep);color:#fff;flex-direction:column;justify-content:center;padding:var(--px);font-size:clamp(30px,9vw,54px);font-weight:800;font-stretch:88%;gap:.4em;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);z-index:-1}
  .menu .nav{clip-path:inset(0)}.menu .hd{color:#fff!important;background:none!important;box-shadow:none}.menu .lw{opacity:1!important}.menu .lc{opacity:0!important}
  .burger{display:block}.hd-cta{display:none}
  .hero-count{display:none}.hnav button span{display:none}.hnav button{padding-right:.6em}
  .intro-g,.contact{grid-template-columns:1fr}
  .svc{grid-template-columns:auto 1fr 44px}.svc p{grid-column:2/3;grid-row:2}.svc em{grid-row:1/3;grid-column:3}
  .ut-g article,.ut-g article+article{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .ft{grid-template-columns:1fr}
  .wz{grid-template-columns:1fr}.wz-a{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hnav button.on i{animation-duration:7s!important}}

/* late additions */
.tx{transition:opacity .24s ease}
body.swap .tx{opacity:0}
.wz .lang{font-size:.72em}
.wz .lang button.on{color:var(--paper)}
.wz-top .wz-prog{margin-right:auto}
.wz-x[data-wz=fill]{border-style:dashed;color:var(--mute)}
@media (max-width:600px){.wz-x[data-wz=fill]{display:none}}
