*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{--ink:#172e29;--green:#2b594b;--paper:#faf7ee;--accent:#ffc15d;--line:#d1d5c8;margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans","Avenir Next",Arial,sans-serif;font-size:16px;line-height:1.56}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #a04607;outline-offset:5px}.wrap{width:min(1190px,calc(100% - 96px));margin:auto}.top{border-bottom:1px solid var(--line)}.top .wrap,nav,.brand,.actions,.foot{display:flex;align-items:center}.top .wrap{justify-content:space-between;min-height:82px}.brand{gap:10px;font-size:29px;font-weight:800;letter-spacing:-1.85px;text-decoration:none}.brand img{width:40px;height:40px}.brand small{border-left:1px solid #a3afa5;margin-left:6px;padding-left:16px;color:var(--green);font-size:12px;font-weight:600;letter-spacing:.1px}nav{gap:26px}nav a,.soft{font-size:14px;font-weight:650;text-decoration:none}nav a:hover,.soft:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:.8em;min-height:47px;border-radius:100px;padding:10px 22px;background:var(--ink);border:1px solid var(--ink);color:#fff;text-decoration:none;font-weight:700;font-family:inherit;font-size:14px;transition:background .18s ease,transform .18s ease}.button:hover{background:#325a4c;transform:translateY(-1px)}.button.alt{color:var(--ink);background:transparent;border-color:#9ba99e}.button.alt:hover{background:#ecefe5}.button.gold{background:var(--accent);color:var(--ink);border-color:var(--accent)}.button.gold:hover{background:#ffce86}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:center;gap:clamp(30px,5.5vw,84px);padding-top:36px;padding-bottom:40px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.15em;color:var(--green);margin:0 0 22px}.eyebrow:before{content:"";width:24px;height:2px;background:currentColor}.hero h1,h2,h3,.case-title{font-family:"DM Serif Text",Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:0}.hero h1{font-size:clamp(68px,6.7vw,100px)}em{font-weight:400;color:var(--green)}.intro{font-size:clamp(16px,1.45vw,19px);max-width:480px;margin:24px 0 28px;line-height:1.58}.actions{gap:22px;flex-wrap:wrap}.visual{width:100%;min-width:0;margin:0;position:relative;background:#191b17;border-radius:5px 72px 5px 5px;overflow:hidden;isolation:isolate;min-height:400px;aspect-ratio:1.18;max-height:550px}.visual>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 43%}.visual:after{position:absolute;content:"";inset:62% 0 0;background:linear-gradient(transparent,#111e1bec);z-index:0}.visual figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:12px}.visual figcaption b{display:block;font:400 24px Georgia,serif}.visual small{letter-spacing:.08em;font-size:10px;text-transform:uppercase}.visual figcaption a{font-weight:650;font-size:12px;color:#fff}.services{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eff1e8}.services .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0;gap:10px}.services span{display:flex;align-items:center;gap:10px;font-weight:650;font-size:14px;justify-content:center}.services span+span{border-left:1px solid #bcc7b9}.services svg{height:23px;width:23px;fill:none;stroke:var(--green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.plans{padding-top:64px;padding-bottom:65px}.plan-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:26px}.plan-head .eyebrow{margin-bottom:10px}h2{font-size:clamp(43px,5vw,65px)}.plan-head>p{max-width:350px;font-size:14px;color:#485a52;margin:0 0 3px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan{position:relative;border:1px solid var(--line);border-radius:9px;padding:25px 24px;display:flex;flex-direction:column;background:#fdfbf6;min-width:0}.plan.featured{background:#eaf0e5;border-color:#94ae99}.plan.featured:before{content:"";position:absolute;inset:0 14px auto;height:3px;background:#52755e}.plan h3{font-size:33px}.who{margin:11px 0 20px;color:#41554b;font-size:14px;min-height:44px}.prices{border-block:1px solid var(--line);padding:14px 0;display:grid;gap:6px}.prices p{display:flex;justify-content:space-between;align-items:baseline;gap:4px;margin:0}.prices b{font-weight:750;letter-spacing:-.04em;font-size:24px}.prices span{font-size:12px}.plan ul{padding:0;list-style:none;margin:18px 0 16px}.plan li{position:relative;padding-left:17px;margin-bottom:8px;font-size:14px}.plan li:before{content:"";position:absolute;left:1px;top:.68em;width:6px;height:6px;border-radius:50%;background:#b37531}.plan details{font-size:13px;margin:0 0 22px}.plan summary{font-weight:700;cursor:pointer}.plan details p{margin:8px 0}.plan>.button{margin-top:auto}.note{font-size:13px;margin:20px 0 0;color:#495b51}.contact{background:var(--ink);color:var(--paper);padding:52px 0}.contact .wrap{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px}.contact .eyebrow{color:#f4c27b;margin-bottom:10px}.contact h2{font-size:clamp(42px,4.4vw,63px)}.contact p{max-width:480px}.contact .send{justify-self:end;text-align:right}.contact .send a:not(.button){display:block;font-size:14px;margin-top:11px}.foot{justify-content:space-between;gap:20px;padding-block:24px}.foot .brand{font-size:23px}.foot .brand img{width:32px;height:32px}.foot>a:last-child{font-size:13px}.skip{position:absolute;top:-60px;left:1rem;z-index:5;background:#fff;padding:10px}.skip:focus{top:10px}
@media(max-width:880px){.wrap{width:calc(100% - 48px)}.hero{gap:24px}.hero h1{font-size:clamp(55px,7vw,72px)}.visual{min-height:340px}.plan{padding:21px 16px}.prices p{align-items:flex-start;flex-wrap:wrap}.plan h3{font-size:28px}.plan-head>p{max-width:300px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.top .wrap{min-height:66px}.brand{font-size:25px}.brand img{width:33px;height:33px}.brand small,nav>a:not(.button){display:none}nav .button{font-size:12px;min-height:38px;padding:7px 14px}.hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:24px;gap:24px}.eyebrow{font-size:10px;margin-bottom:16px}.hero h1{font-size:clamp(55px,12vw,76px)}.intro{margin:16px 0 20px}.actions{gap:18px}.visual{min-height:0;aspect-ratio:1.44;border-top-right-radius:48px}.visual figcaption{bottom:14px;left:15px;right:15px}.visual figcaption b{font-size:20px}.services .wrap{gap:3px;padding-block:12px}.services span{font-size:11px;gap:5px;line-height:1.25}.services svg{height:18px;width:18px;flex:none}.plan-head{display:block;margin-bottom:21px}.plan-head>p{max-width:none;margin-top:10px}.plans{padding-block:40px}.grid{grid-template-columns:1fr;gap:13px}.plan{padding:23px}.who{min-height:auto;margin:8px 0 15px}.prices{grid-template-columns:1fr 1fr;gap:14px}.prices p{display:grid}.prices p + p{border-left:1px solid var(--line);padding-left:14px}.plan h3{font-size:32px}.contact{padding:38px 0}.contact .wrap{grid-template-columns:1fr;gap:9px}.contact .send{text-align:left;justify-self:start}.foot{gap:10px}.foot>a:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* La muestra de búsquedas y el portafolio comparten la tipografía y los colores de LineTech. */
.hero{padding-block:64px;grid-template-columns:minmax(0,1fr) minmax(0,.97fr);gap:clamp(34px,6vw,80px)}
.hero h1{font-size:clamp(58px,5.8vw,88px);line-height:1.02}
.intro{max-width:530px}
.top .brand img{height:40px;width:40px}.foot .brand img{height:32px;width:32px}
.demo{position:relative;isolation:isolate;background:#183b32;color:#fff9ea;border:1px solid #24473d;border-radius:10px 52px 10px 10px;overflow:hidden;min-width:0;box-shadow:0 9px 20px -14px #253c36aa}
.map-pane{position:relative;padding:25px 25px 0;overflow:hidden;isolation:isolate;height:244px}
.atlas{position:absolute;z-index:-1;inset:0;width:100%;height:100%;display:block}
.demo-title{margin:0 0 10px;color:#dbe8d9;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.query{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;background:#f9f7ec;color:#203b32;padding:12px 16px;border:1px solid #fff9e9;border-radius:30px;font-size:15px;font-weight:650;box-shadow:0 4px 9px #0d251f37}
.query svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2}
.place{position:absolute;left:24px;bottom:22px;color:#fffaf0;font-size:13px;font-weight:650;display:flex;gap:7px;align-items:center}
.place:before{content:"";width:7px;height:7px;border-radius:50%;background:#fbbd59}
.pin{transform:translate(310px,118px);transition:transform .35s ease}
.demo-content{padding:20px 25px 22px;background:#244a3f;border-top:1px solid #627769}
.demo-content h3{font-size:28px;line-height:1.14;color:#fff9ee;letter-spacing:-.035em}
.demo-content p{font-size:14px;margin:5px 0 16px;color:#e0e8dc;min-height:22px}
.examples{display:flex;gap:7px;flex-wrap:wrap}
.examples button{appearance:none;border:1px solid #789184;color:#f6f8ec;border-radius:22px;background:transparent;font:600 12px/1.3 "DM Sans","Avenir Next",Arial,sans-serif;padding:8px 13px;cursor:pointer}
.examples button[aria-pressed="true"]{color:#152e27;background:#ffc15d;border-color:#ffc15d}
.examples button:focus-visible{outline:2px solid white;outline-offset:3px}
.services .wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
.method{padding:66px 0 28px}
.method .head{max-width:780px}.method .eyebrow,.portfolio .eyebrow{margin-bottom:12px}
.method h2,.portfolio h2,.plan-head h2{font-size:clamp(38px,4.2vw,62px)}
.steps{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step{border-top:1px solid var(--line);padding-top:14px}
.step h3{font-size:27px;line-height:1.17}.step p{font-size:15px;line-height:1.55;color:#405349;margin:9px 0 0}
.plans{padding:44px 0 64px}.plan-head>p{max-width:335px}.plan h3{font-size:clamp(26px,2.65vw,35px);line-height:1.08}
.plan{padding:24px 20px}.plan li{font-size:14px}.plan .who{min-height:65px}
.portfolio{background:#e9ede3;border-block:1px solid #cbd3c6;padding:44px 0}
.portfolio .wrap{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,5vw,65px)}
.portfolio .photo{width:100%;height:250px;border-radius:6px 40px 6px 6px;object-fit:cover;object-position:50% 50%;display:block}
.portfolio h2{margin-bottom:12px}.portfolio p:not(.eyebrow){max-width:560px;margin:8px 0 16px;font-size:16px}
.portfolio .actions{gap:18px}.portfolio .soft{text-decoration:underline}
.contact .send{text-align:left}.foot nav{display:flex;gap:22px}.foot nav a{display:inline;font-size:13px}
@media(max-width:880px){.hero{gap:24px;padding-block:44px}.map-pane{height:225px;padding:18px 17px 0}.demo-content{padding:17px}.query{font-size:14px}.plan{padding:20px 15px}.examples{gap:5px}.examples button{padding:7px 9px}}
@media(max-width:680px){.hero{grid-template-columns:1fr;gap:24px;padding-block:34px}.hero h1{font-size:clamp(53px,12vw,73px)}.top .brand img{width:34px;height:34px}.map-pane{height:185px}.demo-content{padding:14px 17px 16px}.demo-content h3{font-size:25px}.demo-content p{margin:3px 0 10px}.query{min-height:42px;font-size:14px}.place{bottom:10px;left:18px}.services .wrap{grid-template-columns:1fr 1fr;row-gap:12px}.services span{font-size:12px}.services span:nth-child(3){border:0}.method{padding:40px 0 18px}.steps{grid-template-columns:1fr;gap:18px;margin-top:18px}.step h3{font-size:25px}.plans{padding:26px 0 40px}.plan{padding:22px}.plan .who{min-height:0}.portfolio{padding:30px 0}.portfolio .wrap{grid-template-columns:1fr;gap:20px}.portfolio .photo{height:170px}.foot nav{gap:12px}.foot nav a{font-size:12px}.contact .send{justify-self:start}}
@media(prefers-reduced-motion:reduce){.pin{transition:none}}


.plan-fees{margin:0 0 24px}
.plan-fees>div{border-top:1px solid var(--line);padding:13px 0 12px}
.plan-fees dt{color:var(--green);font-size:12px;font-weight:650}
.plan-fees dd{margin:0}
.plan-fees strong{display:block;font-size:27px;letter-spacing:-.04em;line-height:1.25}
.plan-fees span{display:block;margin-top:6px;font-size:14px;line-height:1.45}
@media(min-width:681px){.plan-fees>div:first-child{min-height:145px}}

html:not(.navidad) [data-navidad], html.navidad [data-regular]{display:none!important}
.navidad-aviso{background:#e9eddb;border-bottom:1px solid #d0d9c4;color:#173e31}
.navidad-aviso .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:10px}
.navidad-aviso p{font-size:14px;line-height:1.45;margin:0}
.navidad-aviso a{font-size:13px;font-weight:700;white-space:nowrap}
.plan p.promo-tag{align-self:flex-start;margin:0 0 12px;border-radius:24px;padding:3px 11px;background:#ffda8c;color:#24392e;font-size:12px;font-weight:750}
.plan-fees strong del{font-size:16px;color:#526858;margin-left:5px;font-weight:500}
.plan-fees dt span{display:inline;font-size:inherit;margin:0}
.promo-terms{font-size:13px;color:#3f5647;margin:0 0 13px}
.gorro-navidad{
    position:absolute;top:-16px;right:2px;width:66px;height:51px;z-index:1;
    pointer-events:none;transform:rotate(12deg);transform-origin:60% 85%;
    filter:drop-shadow(0 2px 1px rgb(35 49 35 / 25%));
}
.gorro-navidad::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(105deg,#ad3040 7%,#df4846 44%,#c03937 68%,#932e38 87%);
    clip-path:path("M 6 37 C 12 27 17 10 30 5 C 41 0 48 5 54 12 Q 59 18 60 25 L 54 28 Q 50 22 44 20 Q 43 30 47 36 Q 29 41 6 37 Z");
}
.gorro-navidad::after{
    content:"";position:absolute;left:4px;top:33px;width:45px;height:12px;
    border-radius:38% 30% 35% 28% / 50%;transform:rotate(-3deg);
    background:linear-gradient(180deg,#fffef4 15%,#fff5dd 65%,#e1d9c5);
    box-shadow:inset 0 0 0 1px rgb(99 77 56 / 14%);
}
.gorro-navidad i{
    position:absolute;top:20px;left:53px;width:13px;height:13px;border-radius:50%;
    background:radial-gradient(circle at 38% 30%,#fffef5 30%,#f7eedb 62%,#d9cdb6);
}
.navidad #web-propia .promo-tag{max-width:calc(100% - 36px)}
@media(max-width:880px){.gorro-navidad{top:-12px;right:0;transform:scale(.88) rotate(12deg)}}
@media(max-width:680px){.navidad-aviso .wrap{gap:8px;flex-wrap:wrap}.navidad-aviso p{font-size:13px}}
