
:root{
  --ink:#101713;
  --ink-2:#18211b;
  --muted:#677069;
  --green:#9bc7a0;
  --green-strong:#72aa7a;
  --green-soft:#dff0e0;
  --sage:#f1f7f0;
  --ivory:#f8f8f3;
  --paper:#fcfcf8;
  --line:#dfe5de;
  --white:#fff;
  --shadow:0 30px 80px rgba(22,38,27,.12);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit}
button,input,textarea{font:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--green);color:var(--ink)}
.container{width:min(1220px,calc(100% - 56px));margin:auto}
.serif{font-family:Georgia,"Times New Roman",serif}
.kicker{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-strong);font-weight:800}
.kicker:before{content:"";width:26px;height:1px;background:currentColor}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#879188}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transition:.25s ease}
.site-header.scrolled{background:rgba(250,251,247,.86);backdrop-filter:blur(20px);border-color:rgba(31,49,35,.1)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:max-content}.logo-original{width:42px;height:63px;display:block;object-fit:contain;flex:0 0 auto;border-radius:2px}





.logo-title{font-family:Georgia,serif;font-size:20px;letter-spacing:.12em;font-weight:500;line-height:1}
.logo-sub{display:block;font-size:8.5px;letter-spacing:.2em;color:#6d786f;margin-top:6px}
.desktop-nav{display:flex;align-items:center;gap:30px}
.desktop-nav a{font-size:13px;text-decoration:none;color:#344038;position:relative}
.desktop-nav a:not(.nav-btn):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--green-strong);transition:.25s ease}
.desktop-nav a:not(.nav-btn):hover:after{right:0}
.nav-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff!important;padding:12px 16px;border-radius:999px;transition:.25s ease}
.nav-btn:hover{transform:translateY(-2px);background:#223127}
.nav-btn svg{width:14px;height:14px}
.menu-btn{display:none;border:0;background:var(--ink);color:white;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer}
.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";width:18px;height:1.5px;background:currentColor;position:absolute;transition:.25s ease}
.menu-btn:before{transform:translateY(-5px)}.menu-btn:after{transform:translateY(5px)}
.menu-btn.active span{opacity:0}.menu-btn.active:before{transform:rotate(45deg)}.menu-btn.active:after{transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:rgba(246,249,244,.98);z-index:90;padding:120px 28px 40px;display:flex;flex-direction:column;transform:translateY(-100%);transition:.45s cubic-bezier(.2,.8,.2,1)}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:Georgia,serif;font-size:34px;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu small{margin-top:auto;color:var(--muted)}

/* Hero */
.hero{position:relative;min-height:100vh;padding:145px 0 80px;display:flex;align-items:center;overflow:hidden;background:
  radial-gradient(circle at 80% 20%,rgba(198,226,200,.48),transparent 34%),
  linear-gradient(180deg,#fbfcf8 0%,#f6f8f3 100%)}
.hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;border:1px solid rgba(83,125,91,.11);right:-130px;top:120px}
.hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(83,125,91,.1);left:-90px;bottom:80px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:78px;position:relative;z-index:2}
.hero-copy{padding-top:20px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(60px,7.4vw,102px);line-height:.92;letter-spacing:-.055em;font-weight:400;margin:24px 0 30px;max-width:790px}
.hero h1 em{font-weight:400;color:var(--green-strong);font-style:italic}
.hero-lead{font-size:19px;line-height:1.72;color:#5d675f;max-width:650px;margin:0}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:999px;padding:15px 20px;font-size:13px;font-weight:700;border:1px solid transparent;transition:.25s ease;cursor:pointer}
.btn svg{width:15px;height:15px}
.btn-dark{background:var(--ink);color:white}.btn-dark:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,23,19,.16)}
.btn-light{background:rgba(255,255,255,.72);border-color:#ccd5cd;color:#29342d}.btn-light:hover{border-color:var(--green-strong);background:white}
.hero-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:55px;padding-top:26px;border-top:1px solid rgba(68,91,73,.14);max-width:660px}
.meta-item b{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400}.meta-item span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7a857c}

/* Hero art */
.hero-art{position:relative;min-height:630px}
.orbit{position:absolute;border:1px solid rgba(90,132,97,.2);border-radius:50%;animation:spin 30s linear infinite}
.orbit.one{width:520px;height:520px;right:-28px;top:34px}.orbit.two{width:390px;height:390px;right:38px;top:100px;animation-direction:reverse;animation-duration:24s}
.orbit.one:before,.orbit.two:before{content:"";position:absolute;width:9px;height:9px;background:var(--green-strong);border-radius:50%;left:50%;top:-5px}
@keyframes spin{to{transform:rotate(360deg)}}
.crown-stage{position:absolute;right:10px;top:70px;width:470px;height:500px;border-radius:42% 58% 56% 44% / 45% 42% 58% 55%;background:
  radial-gradient(circle at 45% 30%,#fff 0 15%,rgba(255,255,255,.75) 16%,transparent 34%),
  linear-gradient(145deg,#dcebdd,#a9cca9 55%,#7caa83);
box-shadow:inset 0 0 80px rgba(255,255,255,.48),0 45px 100px rgba(61,92,67,.16);overflow:hidden}
.crown-stage:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.45);border-radius:inherit}
.scan-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black 20%,transparent 100%)}
.scan-beam{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);box-shadow:0 0 28px rgba(255,255,255,.8);animation:scan 4.2s ease-in-out infinite}
@keyframes scan{0%,100%{top:16%;opacity:.3}50%{top:82%;opacity:1}}
.tooth-svg{position:absolute;width:310px;left:76px;top:70px;filter:drop-shadow(0 30px 32px rgba(43,74,50,.2));animation:float 5.6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px) rotate(1.2deg)}}
.float-card{position:absolute;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 50px rgba(47,70,51,.12);border-radius:18px;padding:17px 18px;z-index:6}
.float-card strong{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400}.float-card span{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#748078;margin-top:4px}
.float-card.a{left:-22px;top:175px}.float-card.b{right:-18px;bottom:40px}.float-card.c{left:18px;bottom:-5px;padding:12px 16px}.float-card.c strong{font-family:inherit;font-size:12px;font-weight:800;color:var(--green-strong)}
.art-dot{width:7px;height:7px;background:var(--green-strong);border-radius:50%;display:inline-block;margin-right:7px}

/* Marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcf9;overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:marquee 25s linear infinite}
.marquee-set{display:flex;align-items:center;white-space:nowrap}
.marquee span{font-family:Georgia,serif;font-size:19px;padding:20px 28px;color:#4b554e}
.marquee i{width:5px;height:5px;background:var(--green);border-radius:50%;display:block}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Intro */
.section{padding:125px 0}
.intro-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:90px;align-items:start}
.intro h2,.section-title{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,5vw,67px);line-height:1.02;letter-spacing:-.035em;margin:18px 0 28px}
.intro-copy{font-size:20px;line-height:1.75;color:#59645c;max-width:690px}
.big-quote{font-family:Georgia,serif;font-size:30px;line-height:1.35;letter-spacing:-.018em;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:42px}
.values{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.value{min-height:220px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.3s ease;background:rgba(255,255,255,.25)}
.value:hover{background:#fff;box-shadow:var(--shadow);z-index:2;transform:translateY(-3px)}
.value-num{font-size:10px;letter-spacing:.15em;color:var(--green-strong)}
.value h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:38px 0 12px}.value p{color:var(--muted);font-size:14px;line-height:1.68;margin:0;max-width:250px}

/* Services */
.services{background:var(--ink);color:#f9fbf8;position:relative;overflow:hidden}
.services:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(137,190,143,.12),transparent 65%);right:-250px;top:-200px}
.services .kicker{color:#9ecba3}.services .section-title{max-width:850px}.services-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:56px}.services-intro p{max-width:480px;color:#a7b1aa;line-height:1.75;margin:0 0 12px}
.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.service-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);padding:28px;min-height:310px;border-radius:22px;transition:.35s ease;isolation:isolate}
.service-card:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(158,203,163,.22),transparent 65%);right:-130px;bottom:-130px;transition:.4s ease;z-index:-1}
.service-card:hover{transform:translateY(-6px);border-color:rgba(158,203,163,.45);background:rgba(255,255,255,.055)}
.service-card:hover:before{right:-80px;bottom:-80px}
.service-card:nth-child(1){grid-column:span 5}.service-card:nth-child(2){grid-column:span 7}.service-card:nth-child(3){grid-column:span 4}.service-card:nth-child(4){grid-column:span 4}.service-card:nth-child(5){grid-column:span 4}.service-card:nth-child(6){grid-column:span 7}.service-card:nth-child(7){grid-column:span 5}
.service-top{display:flex;justify-content:space-between;align-items:center}.service-n{font-size:10px;letter-spacing:.17em;color:#93ba98}.service-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:grid;place-items:center}.service-icon svg{width:18px;height:18px}
.service-card h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:72px 0 12px}.service-card p{color:#a7b0aa;line-height:1.7;font-size:14px;max-width:420px;margin:0}.service-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:26px}.service-tags span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;border:1px solid rgba(255,255,255,.13);padding:7px 9px;border-radius:999px;color:#c7cec9}

/* Digital */
.digital{background:linear-gradient(180deg,#eaf4e9,#f8fbf6);overflow:hidden}
.digital-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.digital-visual{height:590px;position:relative}
.digital-panel{position:absolute;inset:0 30px 0 0;border-radius:32px;background:#17251b;box-shadow:0 38px 90px rgba(35,66,43,.18);overflow:hidden}
.digital-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(151,198,157,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(151,198,157,.08) 1px,transparent 1px);background-size:36px 36px}
.digital-panel:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;border:1px solid rgba(153,204,160,.25);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 65px rgba(143,191,149,.035),0 0 0 130px rgba(143,191,149,.025)}
.wire-tooth{position:absolute;inset:100px 95px;z-index:3;opacity:.9}
.digital-label{position:absolute;z-index:4;background:rgba(238,248,237,.94);padding:16px 18px;border-radius:16px;box-shadow:0 16px 50px rgba(14,37,20,.15)}
.digital-label.top{top:28px;left:-24px}.digital-label.bottom{bottom:28px;right:0}
.digital-label span{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#758077}.digital-label b{font-family:Georgia,serif;font-size:21px;font-weight:400}
.digital-copy p{font-size:18px;line-height:1.75;color:#5d685f;max-width:590px}
.digital-list{margin-top:38px;border-top:1px solid rgba(52,76,57,.16)}
.digital-item{display:grid;grid-template-columns:36px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(52,76,57,.16)}
.digital-item b{font-size:14px}.digital-item span{font-size:13px;color:#748077;margin-top:4px;display:block;line-height:1.6}.check{width:26px;height:26px;border-radius:50%;background:#d8ecd9;display:grid;place-items:center;color:#4e8a57;margin-top:1px}

/* Process */
.process{background:#fff}
.process-head{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:64px}.process-head p{color:var(--muted);font-size:17px;line-height:1.75;margin:0 0 12px}
.timeline{border-top:1px solid var(--line)}
.timeline-row{display:grid;grid-template-columns:80px .8fr 1.2fr 48px;gap:26px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:.25s ease}
.timeline-row:hover{padding-left:12px;background:linear-gradient(90deg,rgba(223,240,224,.35),transparent)}
.timeline-row .num{font-size:10px;letter-spacing:.15em;color:var(--green-strong)}
.timeline-row h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0}.timeline-row p{font-size:14px;color:var(--muted);margin:0;max-width:550px;line-height:1.65}.timeline-row .arrow{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.25s ease}.timeline-row:hover .arrow{background:var(--green-soft);border-color:var(--green)}

/* Cases */
.cases{padding-top:115px;background:var(--ivory)}
.cases-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.cases-head p{max-width:450px;color:var(--muted);line-height:1.7}
.case-grid{display:grid;grid-template-columns:1.28fr .72fr;grid-template-rows:300px 300px;gap:16px}
.case{border-radius:22px;overflow:hidden;position:relative;background:#dfe8df;min-height:250px}
.case.one{grid-row:1 / 3;background:linear-gradient(135deg,#becfbe 0%,#edf3ea 46%,#a9bfa9 100%)}
.case.two{background:linear-gradient(135deg,#d9d5c9,#f6f2e8)}.case.three{background:linear-gradient(135deg,#d9ead8,#b6cfb7)}
.case:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.9),transparent 32%)}
.case-art{position:absolute;inset:0;display:grid;place-items:center;opacity:.92}
.case-art svg{width:65%;max-height:68%;filter:drop-shadow(0 30px 30px rgba(55,70,56,.16))}
.case-caption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.65);border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.case-caption b{font-family:Georgia,serif;font-size:18px;font-weight:400}.case-caption span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#748078}
.cases-note{margin-top:16px;font-size:12px;color:#7a847b}




/* Tecnología real del laboratorio */
.tech-collage{height:590px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.08fr .92fr;gap:12px}
.tech-photo{position:relative;overflow:hidden;border-radius:24px;background:#dfe8df;border:1px solid rgba(31,50,35,.10);box-shadow:0 24px 65px rgba(35,66,43,.12)}
.tech-photo.main{grid-column:1 / 3}
.tech-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease}
.tech-photo:hover img{transform:scale(1.025)}
.tech-photo.main img{object-position:center 52%}
.tech-photo.formlabs img{object-position:center 46%}
.tech-photo.ivoclar img{object-position:center 58%}
.tech-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(15,26,17,.72) 100%);pointer-events:none}
.tech-caption{position:absolute;left:17px;right:17px;bottom:15px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;color:#fff}
.tech-caption b{font-family:Georgia,serif;font-size:18px;font-weight:400}
.tech-caption span{font-size:9px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;color:#d3ddd5;text-align:right}
@media(max-width:900px){
  .tech-collage{height:560px}
}
@media(max-width:600px){
  .tech-collage{height:auto;display:block}
  .tech-photo,.tech-photo.main{height:260px;margin-bottom:12px}
  .tech-photo.main{height:300px}
}

/* Trabajos reales */
.real-work{background:#111813;color:#fff;position:relative;overflow:hidden}
.real-work:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(141,189,146,.12);right:-220px;top:-220px}
.real-work .container{position:relative;z-index:1}
.real-work-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:44px}
.real-work .kicker{color:#9ecba3}
.real-work .section-title{color:#fff}
.real-work-head p{margin:0;color:#aeb8b0;line-height:1.75;max-width:520px}
.photo-mosaic{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:300px 300px;gap:14px}
.photo-card{position:relative;overflow:hidden;border-radius:22px;background:#263129;border:1px solid rgba(255,255,255,.08)}
.photo-card:first-child{grid-row:1 / 3}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}
.photo-card:hover img{transform:scale(1.025)}
.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(9,14,10,.76) 100%);pointer-events:none}
.photo-caption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.photo-caption b{font-family:Georgia,serif;font-size:20px;font-weight:400}
.photo-caption span{font-size:10px;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:#bec8c0;text-align:right}
.photo-note{margin-top:18px;color:#879188;font-size:12px;line-height:1.65}
@media(max-width:900px){
  .real-work-head{grid-template-columns:1fr;gap:18px;align-items:start}
  .photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:360px 240px 240px}
  .photo-card:first-child{grid-column:1 / 3;grid-row:auto}
}
@media(max-width:600px){
  .photo-mosaic{display:block}
  .photo-card,.photo-card:first-child{height:280px;margin-bottom:12px}
  .photo-card:first-child{height:360px}
  .photo-caption{left:16px;right:16px;bottom:14px;display:block}
  .photo-caption span{display:block;text-align:left;margin-top:5px}
}

/* Sección editorial sin fotografías */
.trust{padding-top:115px;background:var(--ivory);position:relative;overflow:hidden}
.trust:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(141,189,146,.22);border-radius:50%;right:-210px;top:-160px}
.trust:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(141,189,146,.16);border-radius:50%;right:30px;top:30px}
.trust .container{position:relative;z-index:1}
.trust-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:46px}
.trust-head p{max-width:500px;color:var(--muted);line-height:1.75;margin:0}
.trust-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:auto auto;gap:14px}
.trust-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;padding:30px;min-height:270px;display:flex;flex-direction:column}
.trust-card.main{grid-row:1 / 3;min-height:554px;background:linear-gradient(145deg,#162019,#263129);color:#fff;border-color:#263129;padding:40px}
.trust-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid rgba(141,189,146,.18);right:-75px;top:-70px}
.trust-card.main:before{width:330px;height:330px;right:-125px;top:-120px;border-color:rgba(184,216,187,.18)}
.trust-card .trust-n{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:700}
.trust-card h3{font-family:Georgia,serif;font-size:28px;line-height:1.1;font-weight:400;margin:48px 0 14px;max-width:420px}
.trust-card.main h3{font-size:45px;margin-top:auto;margin-bottom:18px;max-width:540px}
.trust-card p{font-size:14px;line-height:1.7;color:var(--muted);margin:0;max-width:440px}
.trust-card.main p{color:#b7c0b9;font-size:16px;max-width:520px}.punctuality-card{background:linear-gradient(145deg,#edf6ed,#fff);border-color:#b9d8bc}.punctuality-card .trust-pill{margin-top:auto;align-self:flex-start;padding:8px 11px;border-radius:999px;background:#dceede;color:#3d7044;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.trust-pill{margin-top:24px;align-self:flex-start;border:1px solid rgba(141,189,146,.45);border-radius:999px;padding:9px 12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b8d8bb}
.trust-footer{margin-top:14px;border:1px solid var(--line);border-radius:18px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f3f7f1}
.trust-footer strong{font-family:Georgia,serif;font-size:22px;font-weight:400}
.trust-footer span{font-size:13px;color:var(--muted);max-width:560px;line-height:1.65;text-align:right}

/* CTA */
.cta-wrap{padding:110px 0;background:var(--ivory)}
.cta-box{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:30px;padding:62px;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.cta-box:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(155,199,160,.22),transparent 65%);right:-180px;top:-240px}
.cta-box > *{position:relative;z-index:2}.cta-box .kicker{color:#9ecba3}.cta-box h2{font-family:Georgia,serif;font-size:48px;line-height:1.05;font-weight:400;margin:18px 0 16px;max-width:650px}.cta-box p{color:#aab3ac;line-height:1.7;max-width:590px;margin:0}.cta-box .cta-quote{margin-top:22px;color:#d7ded8;font-family:Georgia,serif;font-size:17px;line-height:1.6}.cta-side{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.btn-green{background:var(--green);color:var(--ink)}.btn-green:hover{background:#b0d6b4;transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,.22);color:white}.btn-outline:hover{background:rgba(255,255,255,.06)}

/* Contact */
.contact{background:#fff;padding:115px 0 60px}
.contact-early{padding:65px 0;background:var(--ivory);scroll-margin-top:95px}
#contacto{scroll-margin-top:95px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.contact h2{font-family:Georgia,serif;font-size:56px;font-weight:400;letter-spacing:-.035em;line-height:1.05;margin:18px 0 24px}.contact-copy{color:var(--muted);font-size:17px;line-height:1.75;max-width:500px}
.contact-details{margin-top:38px;border-top:1px solid var(--line)}
.contact-row{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.contact-row span{color:#7a847c}.contact-row a{text-decoration:none;font-weight:700}.contact-row a:hover{color:var(--green-strong)}
.form-card{background:var(--sage);border-radius:24px;padding:34px}.form-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 8px}.form-card > p{color:var(--muted);font-size:13px;margin:0 0 25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#667268}.field input,.field textarea{width:100%;border:1px solid #d3dfd3;background:rgba(255,255,255,.78);border-radius:12px;padding:13px 14px;outline:none;color:var(--ink);transition:.2s ease}.field input:focus,.field textarea:focus{border-color:var(--green-strong);background:white;box-shadow:0 0 0 3px rgba(114,170,122,.09)}.field textarea{min-height:130px;resize:vertical}.form-note{font-size:10px;color:#7c867e;margin:10px 0 0}

footer{background:#fff;padding:28px 0 36px;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:#78827a;font-size:11px}.footer-links{display:flex;gap:20px}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--ink)}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-btn{display:flex;position:relative}.hero{padding-top:125px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{max-width:830px}.hero-art{min-height:550px;max-width:600px;margin:0 auto;width:100%}.crown-stage{left:50%;right:auto;transform:translateX(-50%)}.orbit.one,.orbit.two{left:50%;right:auto;transform:translateX(-50%);animation:none}.intro-grid,.digital-grid,.contact-grid{grid-template-columns:1fr;gap:58px}.services-intro{align-items:start;flex-direction:column}.trust-head{grid-template-columns:1fr;gap:20px;align-items:start}.trust-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.trust-card.main{grid-column:1 / 3;grid-row:auto;min-height:430px}.trust-footer{align-items:flex-start;flex-direction:column}.trust-footer span{text-align:left}.service-card:nth-child(n){grid-column:span 6}.process-head{grid-template-columns:1fr;gap:20px}.cta-box{grid-template-columns:1fr}.cta-side{justify-content:flex-start}
}
@media(max-width:720px){
  .container{width:min(100% - 32px,1220px)}.nav{height:74px}.logo-title{font-size:17px}.logo-sub{display:none}.logo-original{width:34px;height:51px}.hero{padding:112px 0 58px;min-height:auto}.hero h1{font-size:clamp(52px,16vw,72px)}.hero-lead{font-size:17px}.hero-meta{gap:18px}.meta-item{width:calc(50% - 10px)}.hero-art{min-height:440px}.crown-stage{width:340px;height:370px;top:42px}.tooth-svg{width:225px;left:56px;top:50px}.orbit.one{width:390px;height:390px;top:20px}.orbit.two{width:290px;height:290px;top:70px}.float-card.a{left:0;top:125px}.float-card.b{right:0;bottom:20px}.float-card.c{display:none}.section{padding:88px 0}.trust{padding-top:88px}.trust-grid{display:block}.trust-card,.trust-card.main{min-height:0;margin-bottom:12px;padding:26px}.trust-card.main{min-height:390px}.trust-card h3{margin-top:58px}.trust-card.main h3{font-size:38px;margin-top:auto}.trust-footer{padding:22px}.trust-footer strong{font-size:20px}.intro-grid{gap:48px}.intro-copy{font-size:18px}.values{grid-template-columns:1fr}.value{min-height:180px}.services-intro{margin-bottom:36px}.service-grid{display:block}.service-card{margin-bottom:12px;min-height:280px}.service-card h3{margin-top:56px}.digital-visual{height:460px}.digital-panel{inset:0}.wire-tooth{inset:80px 55px}.digital-label.top{left:12px}.digital-label.bottom{right:12px}.process-head{margin-bottom:40px}.timeline-row{grid-template-columns:45px 1fr 36px;gap:14px}.timeline-row p{grid-column:2 / 4;padding-right:15px}.timeline-row .arrow{grid-column:3;grid-row:1}.case-grid{grid-template-columns:1fr;grid-template-rows:380px 250px 250px}.case.one{grid-row:auto}.cases{padding-top:88px}.cta-wrap{padding:78px 0}.cta-box{padding:36px 26px;border-radius:22px}.cta-box h2{font-size:38px}.contact{padding-top:88px}.contact h2{font-size:46px}.field-grid{grid-template-columns:1fr}.form-card{padding:26px 20px}.contact-row{flex-direction:column;gap:4px}.footer-grid{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
