/* the-translators.com | Translation Agency | Gandia, Valencia, Spain
   FIRST Mediterranean Blue #2C4E6E + Terracotta #D4875A palette!
   FIRST Libre Baskerville + IBM Plex Sans fonts!
   FIRST Top bar + Mega Services Panel navigation!
   FIRST Asymmetric editorial hero with image mosaic!
   FIRST Numbered Bento services grid!
   FIRST Vertical steps with left number column process!
   FIRST All-static 3-col testimonials!
   FIRST Flor de Azahar/Naranja/Naranjado pricing!
   FIRST .ttl-tally builder panel!
   FIRST Instagram+LinkedIn+Vimeo social!
   FIRST Orange slice favicon! FIRST Gandia Valencia!
   ttl- CSS prefix | TTL JS | plan/extras/support params */
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');
:root{
  --ttl-paper:#F9F5F0; --ttl-card:#FFFFFF; --ttl-navy:#1A2B3C;
  --ttl-sea:#2C4E6E; --ttl-sea-l:#3D6591; --ttl-sea-d:#1E3850;
  --ttl-terra:#D4875A; --ttl-terra-d:#B86A3A; --ttl-terra-l:#E8A07A;
  --ttl-line:#E2D8CE; --ttl-stone:#7A8590; --ttl-mid:#4A5562;
  --ttl-glow:rgba(44,78,110,.1); --ttl-glow-t:rgba(212,135,90,.12);
  --ttl-max:1200px;
  --ttl-fh:'Libre Baskerville',Georgia,serif;
  --ttl-fb:'IBM Plex Sans',system-ui,sans-serif;
  --ttl-r:4px; --ttl-r2:12px; --ttl-r3:24px;
  --ttl-ease:all .22s cubic-bezier(.4,0,.2,1);
  --ttl-sh:0 2px 12px rgba(26,43,60,.08);
  --ttl-sh2:0 12px 40px rgba(26,43,60,.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ttl-paper);color:var(--ttl-stone);font-family:var(--ttl-fb);font-size:.93rem;line-height:1.72;overflow-x:hidden;}
img{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}address{font-style:normal;}
h1,h2,h3,h4{font-family:var(--ttl-fh);color:var(--ttl-navy);}
p{font-size:.93rem;line-height:1.78;color:var(--ttl-stone);}

/* ═══ CONTACT TOP BAR ═══ */
.ttl-topbar{background:var(--ttl-sea-d);padding:.32rem 0;}
.ttl-topbar-in{max-width:var(--ttl-max);margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;}
.ttl-tb-lk{font-family:var(--ttl-fb);font-size:.3rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:.35rem;transition:color .14s;}
.ttl-tb-lk:hover{color:white;}
.ttl-tb-left{display:flex;gap:1.5rem;}
.ttl-lang-row{display:flex;align-items:center;gap:.35rem;}
.ttl-ls{font-family:var(--ttl-fb);font-size:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.3);padding:.1rem .35rem;cursor:pointer;border:none;background:none;transition:var(--ttl-ease);}
.ttl-ls:hover,.ttl-ls.ttl-ls-on{color:white;}

/* ═══ MAIN HEADER — white sticky ═══ */
.ttl-header{background:var(--ttl-card);border-bottom:1px solid var(--ttl-line);position:sticky;top:0;z-index:200;transition:box-shadow .2s;}
.ttl-header.ttl-hd-sh{box-shadow:var(--ttl-sh2);}
.ttl-header-in{max-width:var(--ttl-max);margin:0 auto;padding:.55rem 2rem;display:flex;align-items:center;gap:1rem;}
/* Libre Baskerville logo 2rem+ (bigger!) */
.ttl-logo{font-family:var(--ttl-fh);font-size:2rem;font-weight:700;color:var(--ttl-navy);text-decoration:none;flex-shrink:0;letter-spacing:-.02em;}
.ttl-logo em{color:var(--ttl-terra);font-style:italic;}
/* IBM Plex Sans 1.05rem 600 nav (bigger than body!) */
.ttl-nav{display:flex;align-items:center;gap:.1rem;margin-left:auto;}
.ttl-nlk{font-family:var(--ttl-fb);font-size:1.05rem;font-weight:600;color:var(--ttl-mid);padding:.3rem .52rem;text-decoration:none;transition:color .14s;border-radius:var(--ttl-r);white-space:nowrap;position:relative;}
.ttl-nlk:hover,.ttl-nlk.ttl-nav-on{color:var(--ttl-sea);}
/* Mega services trigger */
.ttl-nlk.ttl-svc-trig{display:flex;align-items:center;gap:.2rem;}
.ttl-nav-cta{font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:white;background:var(--ttl-terra);padding:.38rem 1.1rem;border-radius:var(--ttl-r3);text-decoration:none;white-space:nowrap;transition:background .14s;margin-left:.4rem;flex-shrink:0;}
.ttl-nav-cta:hover{background:var(--ttl-terra-d);}
.ttl-mob-btn{display:none;color:var(--ttl-navy);padding:.25rem;}
/* ═══ MEGA SERVICES PANEL (FIRST in 13-site series!) ═══ */
.ttl-mega-wrap{position:absolute;top:100%;left:0;right:0;background:var(--ttl-card);border-top:2px solid var(--ttl-terra);border-bottom:1px solid var(--ttl-line);box-shadow:var(--ttl-sh2);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .2s,transform .22s;z-index:999;}
.ttl-header:hover .ttl-mega-wrap,.ttl-mega-wrap.ttl-mg-vis{opacity:1;pointer-events:auto;transform:translateY(0);}
.ttl-mega-in{max-width:var(--ttl-max);margin:0 auto;padding:1.5rem 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.ttl-mg-cd{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem;border-radius:var(--ttl-r);text-decoration:none;transition:background .14s;}
.ttl-mg-cd:hover{background:var(--ttl-paper);}
.ttl-mg-ico{width:32px;height:32px;background:var(--ttl-glow);border-radius:var(--ttl-r);display:flex;align-items:center;justify-content:center;color:var(--ttl-sea);flex-shrink:0;margin-top:.1rem;}
.ttl-mg-nm{font-family:var(--ttl-fh);font-size:.88rem;font-weight:700;color:var(--ttl-navy);display:block;}
.ttl-mg-tag{font-size:.74rem;color:var(--ttl-stone);display:block;margin-top:.1rem;line-height:1.5;}
/* Mobile panel */
.ttl-mob-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--ttl-card);z-index:600;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:4rem 1.5rem 1.5rem;overflow-y:auto;}
.ttl-mob-panel.ttl-mp-vis{transform:translateX(0);}
.ttl-mp-close{position:absolute;top:1rem;right:1rem;color:var(--ttl-stone);}
.ttl-mp-nav{display:flex;flex-direction:column;gap:.05rem;margin-bottom:.8rem;}
.ttl-mp-lk{font-family:var(--ttl-fb);font-size:1.05rem;font-weight:600;color:var(--ttl-mid);padding:.5rem 0;border-bottom:1px solid var(--ttl-line);text-decoration:none;transition:color .14s;}
.ttl-mp-lk:hover{color:var(--ttl-sea);}

/* PAGE BANNER */
.ttl-pg-bnr{background:var(--ttl-sea-d);padding:5rem 2rem 3rem;position:relative;overflow:hidden;}
.ttl-pg-bnr::before{content:'';position:absolute;top:-40%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(212,135,90,.12),transparent 60%);pointer-events:none;}
.ttl-pg-bnr-in{max-width:var(--ttl-max);margin:0 auto;position:relative;z-index:1;}
.ttl-pg-badge{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.4em;color:var(--ttl-terra-l);display:inline-block;margin-bottom:.5rem;opacity:.8;}
.ttl-pg-bnr h1{font-family:var(--ttl-fh);font-size:clamp(2.4rem,5vw,5rem);font-weight:700;color:white;line-height:1.06;font-style:italic;}
.ttl-pg-sub{font-size:.9rem;color:rgba(255,255,255,.35);margin:.5rem 0 0;max-width:54ch;line-height:1.72;}

/* ═══ HERO: Asymmetric editorial (FIRST!) ═══ */
.ttl-hero{background:var(--ttl-paper);padding:5rem 2rem 4rem;overflow:hidden;position:relative;}
.ttl-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(44,78,110,.018),rgba(44,78,110,.018) 1px,transparent 1px,transparent 40px);pointer-events:none;}
.ttl-hero-in{max-width:var(--ttl-max);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.ttl-hero-left{}
.ttl-hero-sup{font-family:var(--ttl-fb);font-size:.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.38em;color:var(--ttl-terra);display:block;margin-bottom:1.2rem;}
.ttl-hero-h{font-family:var(--ttl-fh);font-size:clamp(3rem,5.5vw,6.5rem);font-weight:700;color:var(--ttl-navy);line-height:1.03;}
.ttl-hero-h em{font-style:italic;color:var(--ttl-terra);}
.ttl-hero-sub{font-size:.95rem;color:var(--ttl-mid);max-width:46ch;line-height:1.78;margin-top:1.2rem;margin-bottom:2rem;}
.ttl-hero-acts{display:flex;gap:.6rem;flex-wrap:wrap;}
/* Hero right: 2x2 image mosaic (FIRST!) */
.ttl-hero-right{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 140px;gap:.75rem;}
.ttl-hero-img-a{grid-column:1/2;grid-row:1/2;border-radius:var(--ttl-r2);overflow:hidden;background:var(--ttl-line);}
.ttl-hero-img-b{grid-column:2/3;grid-row:1/3;border-radius:var(--ttl-r2);overflow:hidden;background:var(--ttl-sea-d);}
.ttl-hero-img-c{grid-column:1/2;grid-row:2/3;border-radius:var(--ttl-r2);overflow:hidden;background:var(--ttl-terra);}
.ttl-hero-img-a img,.ttl-hero-img-b img,.ttl-hero-img-c img{width:100%;height:100%;object-fit:cover;}
.ttl-hero-badge{position:absolute;top:1rem;left:1rem;background:var(--ttl-terra);color:white;font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--ttl-r);}

/* TRUST NUMBERS — dark band */
.ttl-trust-band{background:var(--ttl-navy);padding:2.5rem 2rem;}
.ttl-trust-in{max-width:var(--ttl-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;}
.ttl-tr-blk{text-align:center;}
.ttl-tr-val{font-family:var(--ttl-fh);font-size:2.8rem;font-weight:700;color:white;font-style:italic;display:block;line-height:1;}
.ttl-tr-sub{font-family:var(--ttl-fb);font-size:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--ttl-terra-l);display:block;margin-top:.2rem;}

/* ═══ SERVICES: Numbered Bento grid (FIRST!) ═══ */
.ttl-svc-zone{max-width:var(--ttl-max);margin:0 auto;padding:6rem 2rem;}
.ttl-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--ttl-line);border-radius:var(--ttl-r2);overflow:hidden;margin-top:2.5rem;background:var(--ttl-line);}
.ttl-svc-tile{background:var(--ttl-card);padding:1.5rem;display:flex;flex-direction:column;text-decoration:none;transition:background .16s;position:relative;overflow:hidden;}
.ttl-svc-tile:hover{background:var(--ttl-paper);}
.ttl-st-num{font-family:var(--ttl-fh);font-size:3.5rem;font-weight:700;font-style:italic;color:var(--ttl-glow);position:absolute;top:-.3rem;right:.8rem;line-height:1;pointer-events:none;transition:color .16s;}
.ttl-svc-tile:hover .ttl-st-num{color:var(--ttl-glow-t);}
.ttl-st-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;position:relative;z-index:1;}
.ttl-st-ico{width:30px;height:30px;background:var(--ttl-glow);border-radius:var(--ttl-r);display:flex;align-items:center;justify-content:center;color:var(--ttl-sea);}
.ttl-st-strip{width:28px;height:2px;background:var(--ttl-terra);border-radius:2px;margin-bottom:.4rem;transition:width .16s;}
.ttl-svc-tile:hover .ttl-st-strip{width:56px;}
.ttl-st-nm{font-family:var(--ttl-fh);font-size:.95rem;font-weight:700;color:var(--ttl-navy);display:block;margin-bottom:.2rem;position:relative;z-index:1;}
.ttl-st-pr{font-family:var(--ttl-fb);font-size:.68rem;font-weight:700;color:var(--ttl-terra);background:var(--ttl-glow-t);padding:.04rem .3rem;border-radius:100px;display:inline-block;margin-bottom:.35rem;position:relative;z-index:1;}
.ttl-st-tag{font-size:.78rem;color:var(--ttl-stone);line-height:1.62;flex:1;position:relative;z-index:1;}

/* ABOUT SNIPPET */
.ttl-about-snap{background:var(--ttl-sea-d);padding:5rem 2rem;}
.ttl-as-in{max-width:var(--ttl-max);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;}
.ttl-as-h{font-family:var(--ttl-fh);font-size:clamp(1.8rem,3.5vw,3.5rem);font-weight:700;font-style:italic;color:white;line-height:1.08;margin-bottom:1rem;}
.ttl-as-p{font-size:.9rem;color:rgba(255,255,255,.4);line-height:1.82;margin-bottom:.8rem;}
.ttl-as-right{position:relative;}
.ttl-as-bignum{font-family:var(--ttl-fh);font-size:9rem;font-weight:700;font-style:italic;color:rgba(255,255,255,.05);line-height:1;display:block;text-align:right;}
.ttl-as-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:-3rem;position:relative;z-index:1;}
.ttl-as-sv{font-family:var(--ttl-fh);font-size:2.5rem;font-weight:700;font-style:italic;color:var(--ttl-terra-l);display:block;line-height:1;}
.ttl-as-sl{font-family:var(--ttl-fb);font-size:.28rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.22);display:block;}

/* ═══ PROCESS: Vertical steps with left number column (FIRST!) ═══ */
.ttl-proc-zone{max-width:var(--ttl-max);margin:0 auto;padding:6rem 2rem;}
.ttl-proc-layout{display:grid;grid-template-columns:80px 1fr;gap:0;margin-top:3rem;}
.ttl-proc-nums{display:flex;flex-direction:column;padding-top:.1rem;}
.ttl-proc-num-b{font-family:var(--ttl-fh);font-size:.82rem;font-weight:700;color:var(--ttl-terra);height:var(--ttl-step-h,120px);display:flex;align-items:flex-start;padding-top:.15rem;position:relative;}
.ttl-proc-num-b::after{content:'';position:absolute;left:1.8rem;top:1.2rem;bottom:-0.6rem;width:1px;background:var(--ttl-line);}
.ttl-proc-num-b:last-child::after{display:none;}
.ttl-proc-steps{display:flex;flex-direction:column;}
.ttl-proc-step-b{padding:0 0 2.5rem 2rem;border-left:1px solid var(--ttl-line);}
.ttl-ps-nm{font-family:var(--ttl-fh);font-size:1.05rem;font-weight:700;font-style:italic;color:var(--ttl-navy);margin-bottom:.35rem;}
.ttl-ps-body{font-size:.88rem;color:var(--ttl-stone);line-height:1.78;max-width:62ch;}

/* ═══ PORTFOLIO ═══ */
.ttl-port-zone{background:var(--ttl-paper);border-top:1px solid var(--ttl-line);padding:6rem 2rem;}
.ttl-port-shell{max-width:var(--ttl-max);margin:0 auto;}
.ttl-port-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem;}
.ttl-port-cd{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r2);overflow:hidden;transition:var(--ttl-ease);}
.ttl-port-cd:hover{box-shadow:var(--ttl-sh2);border-color:var(--ttl-sea);}
.ttl-port-cd.ttl-port-wide{grid-column:1/-1;}
.ttl-pc-img{height:200px;overflow:hidden;background:var(--ttl-line);}
.ttl-port-cd.ttl-port-wide .ttl-pc-img{height:260px;}
.ttl-pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.ttl-port-cd:hover .ttl-pc-img img{transform:scale(1.03);}
.ttl-pc-bd{padding:1.2rem 1.4rem;}
.ttl-pc-cat{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--ttl-terra);display:block;margin-bottom:.3rem;}
.ttl-pc-h{font-family:var(--ttl-fh);font-size:1rem;font-weight:700;font-style:italic;color:var(--ttl-navy);margin-bottom:.4rem;line-height:1.3;}
.ttl-pc-p{font-size:.8rem;color:var(--ttl-stone);line-height:1.72;margin-bottom:.6rem;}
.ttl-pc-tags{display:flex;gap:.25rem;flex-wrap:wrap;}
.ttl-pc-tag{font-family:var(--ttl-fb);font-size:.26rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ttl-mid);background:var(--ttl-paper);padding:.06rem .34rem;border-radius:100px;border:1px solid var(--ttl-line);}

/* ═══ TESTIMONIALS: All-static 3-col (FIRST!) ═══ */
.ttl-testi-zone{max-width:var(--ttl-max);margin:0 auto;padding:6rem 2rem;}
.ttl-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.ttl-tc{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r2);padding:1.5rem;position:relative;}
.ttl-tc::before{content:'"';font-family:var(--ttl-fh);font-size:4rem;font-style:italic;color:var(--ttl-glow-t);position:absolute;top:.4rem;left:1rem;line-height:1;pointer-events:none;}
.ttl-tc-q{font-family:var(--ttl-fh);font-size:.88rem;font-style:italic;color:var(--ttl-mid);line-height:1.65;padding-top:1.6rem;margin-bottom:.9rem;}
.ttl-tc-stars{color:var(--ttl-terra);font-size:.78rem;margin-bottom:.5rem;}
.ttl-tc-who{font-family:var(--ttl-fh);font-size:.82rem;font-weight:700;color:var(--ttl-navy);}
.ttl-tc-role{font-family:var(--ttl-fb);font-size:.7rem;color:var(--ttl-stone);}

/* PRICING */
.ttl-price-zone{background:var(--ttl-paper);border-top:1px solid var(--ttl-line);padding:6rem 2rem;}
.ttl-price-shell{max-width:var(--ttl-max);margin:0 auto;}
.ttl-plan-grid{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:1.5rem;align-items:center;margin-top:2.5rem;}
.ttl-plan-cd{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r2);overflow:hidden;transition:var(--ttl-ease);}
.ttl-plan-cd:hover{box-shadow:var(--ttl-sh2);}
.ttl-plan-cd.ttl-plan-feat{border-color:var(--ttl-terra);box-shadow:0 0 0 2px var(--ttl-terra);}
.ttl-pk-hd{padding:1.2rem 1.2rem .8rem;border-bottom:1px solid var(--ttl-line);}
.ttl-plan-feat .ttl-pk-hd{background:var(--ttl-terra);}
.ttl-pk-badge{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ttl-terra);display:inline-block;margin-bottom:.25rem;}
.ttl-plan-feat .ttl-pk-badge{color:rgba(255,255,255,.7);}
.ttl-pk-nm{font-family:var(--ttl-fh);font-size:1.5rem;font-weight:700;font-style:italic;color:var(--ttl-navy);}
.ttl-plan-feat .ttl-pk-nm{color:white;}
.ttl-pk-tagline{font-size:.76rem;color:var(--ttl-stone);margin-top:.15rem;line-height:1.55;}
.ttl-plan-feat .ttl-pk-tagline{color:rgba(255,255,255,.65);}
.ttl-pk-body{padding:1.2rem;}
.ttl-pk-pr{display:flex;align-items:baseline;gap:.22rem;margin-bottom:1.2rem;}
.ttl-pk-amt{font-family:var(--ttl-fh);font-size:2.2rem;font-weight:700;color:var(--ttl-navy);}
.ttl-pk-pp{font-size:.68rem;color:var(--ttl-stone);}
.ttl-pk-list{display:flex;flex-direction:column;gap:.28rem;margin-bottom:1.2rem;}
.ttl-pk-list li{display:flex;align-items:flex-start;gap:.35rem;font-size:.78rem;color:var(--ttl-stone);}
.ttl-pk-list li svg{color:var(--ttl-terra);flex-shrink:0;margin-top:.1rem;}

/* ═══ FAQ: Numbered accordion with terracotta badge (FIRST!) ═══ */
.ttl-faq-zone{max-width:800px;margin:0 auto;padding:6rem 2rem;}
.ttl-fq-item{border-bottom:1px solid var(--ttl-line);}
.ttl-fq-trigger{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem 0;cursor:pointer;}
.ttl-fq-badge{font-family:var(--ttl-fh);font-size:.78rem;font-weight:700;font-style:italic;color:white;background:var(--ttl-terra);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;transition:background .14s;}
.ttl-fq-item.ttl-fq-open .ttl-fq-badge{background:var(--ttl-sea);}
.ttl-fq-q{font-family:var(--ttl-fh);font-size:.92rem;font-weight:700;color:var(--ttl-navy);flex:1;padding-top:.12rem;transition:color .14s;}
.ttl-fq-item.ttl-fq-open .ttl-fq-q{color:var(--ttl-sea);}
.ttl-fq-arr{color:var(--ttl-stone);flex-shrink:0;margin-top:.08rem;transition:transform .2s;}
.ttl-fq-item.ttl-fq-open .ttl-fq-arr{transform:rotate(180deg);}
.ttl-fq-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.ttl-fq-inner{font-size:.88rem;color:var(--ttl-stone);line-height:1.82;padding:0 0 1rem 2.1rem;}

/* CTA: Full-width split (FIRST!) */
.ttl-cta-split{background:var(--ttl-card);border-top:1px solid var(--ttl-line);}
.ttl-cta-in{max-width:var(--ttl-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.ttl-cta-txt{padding:5rem 3rem 5rem 2rem;}
.ttl-cta-h{font-family:var(--ttl-fh);font-size:clamp(2rem,4vw,4rem);font-weight:700;font-style:italic;color:var(--ttl-navy);line-height:1.06;margin-bottom:.8rem;}
.ttl-cta-sub{font-size:.9rem;color:var(--ttl-stone);max-width:42ch;line-height:1.78;margin-bottom:1.8rem;}
.ttl-cta-acts{display:flex;gap:.6rem;flex-wrap:wrap;}
.ttl-cta-img{background:var(--ttl-sea-d);position:relative;overflow:hidden;}
.ttl-cta-img img{width:100%;height:100%;object-fit:cover;opacity:.6;}
.ttl-cta-img-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;padding:2rem;}
.ttl-cta-img-stat{font-family:var(--ttl-fh);font-size:3.5rem;font-weight:700;font-style:italic;color:white;text-align:center;line-height:1;}
.ttl-cta-img-lbl{font-family:var(--ttl-fb);font-size:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--ttl-terra-l);text-align:center;}

/* BUTTONS */
.ttl-btn-t{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:white;background:var(--ttl-terra);padding:.48rem 1.3rem;border-radius:var(--ttl-r3);transition:var(--ttl-ease);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;}
.ttl-btn-t:hover{background:var(--ttl-terra-d);}
.ttl-btn-sea{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:white;background:var(--ttl-sea);padding:.48rem 1.3rem;border-radius:var(--ttl-r3);transition:var(--ttl-ease);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;}
.ttl-btn-sea:hover{background:var(--ttl-sea-d);}
.ttl-btn-out{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:var(--ttl-sea);background:transparent;padding:.46rem 1.3rem;border-radius:var(--ttl-r3);border:2px solid var(--ttl-sea);transition:var(--ttl-ease);text-decoration:none;white-space:nowrap;}
.ttl-btn-out:hover{background:var(--ttl-sea);color:white;}
.ttl-btn-out-w{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:white;background:transparent;padding:.46rem 1.3rem;border-radius:var(--ttl-r3);border:2px solid rgba(255,255,255,.3);transition:var(--ttl-ease);text-decoration:none;white-space:nowrap;}
.ttl-btn-out-w:hover{border-color:white;background:white;color:var(--ttl-sea);}

/* SERVICE PAGE */
.ttl-svcpg-wrap{max-width:var(--ttl-max);margin:0 auto;padding:3rem 2rem 6rem;display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:start;}
.ttl-svcpg-body h2{font-family:var(--ttl-fh);font-size:1rem;font-weight:700;font-style:italic;color:var(--ttl-navy);margin:2rem 0 .4rem;}
.ttl-svcpg-body p{font-size:.9rem;color:var(--ttl-stone);line-height:1.82;margin-bottom:.8rem;}
.ttl-del-r{display:flex;align-items:flex-start;gap:.4rem;font-size:.88rem;color:var(--ttl-mid);margin-bottom:.28rem;}
.ttl-del-r svg{color:var(--ttl-terra);flex-shrink:0;margin-top:.12rem;}
/* Green-bordered price box */
.ttl-svc-pricebox{background:var(--ttl-card);border:2px solid var(--ttl-terra);border-radius:var(--ttl-r2);overflow:hidden;position:sticky;top:6rem;}
.ttl-spb-hd{background:var(--ttl-terra);padding:.65rem 1.2rem;}
.ttl-spb-ttl{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:white;}
.ttl-spb-bd{padding:1rem 1.2rem;}
.ttl-spb-from{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--ttl-stone);display:block;margin-bottom:.1rem;}
.ttl-spb-pr{font-family:var(--ttl-fh);font-size:2.8rem;font-weight:700;font-style:italic;color:var(--ttl-terra-d);display:block;line-height:1;}
.ttl-spb-ot{font-size:.72rem;color:var(--ttl-stone);display:block;margin-bottom:.9rem;}
.ttl-spb-ln{display:flex;align-items:flex-start;gap:.35rem;font-size:.78rem;color:var(--ttl-stone);margin-bottom:.22rem;}
.ttl-spb-ln svg{color:var(--ttl-terra);flex-shrink:0;margin-top:.08rem;}
.ttl-spb-btn{display:flex;width:100%;justify-content:center;align-items:center;gap:.4rem;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;color:white;background:var(--ttl-terra);padding:.5rem;border-radius:var(--ttl-r);border:none;cursor:pointer;transition:background .14s;margin-top:.9rem;text-decoration:none;}
.ttl-spb-btn:hover{background:var(--ttl-terra-d);}

/* BUILDER .ttl-tally (FIRST this naming!) */
.ttl-build-wrap{max-width:var(--ttl-max);margin:0 auto;padding:4rem 2rem 7rem;display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start;}
.ttl-bld-sec{margin-bottom:2rem;}
.ttl-bld-lbl{display:block;font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--ttl-stone);margin-bottom:.55rem;}
.ttl-plan-row{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r);padding:.7rem 1rem;display:flex;align-items:center;gap:.65rem;cursor:pointer;user-select:none;transition:var(--ttl-ease);margin-bottom:.35rem;}
.ttl-plan-row.ttl-pr-on{border-color:var(--ttl-terra);background:var(--ttl-glow-t);}
.ttl-pr-radio{width:16px;height:16px;border:2px solid var(--ttl-line);border-radius:50%;flex-shrink:0;transition:var(--ttl-ease);}
.ttl-plan-row.ttl-pr-on .ttl-pr-radio{background:var(--ttl-terra);border-color:var(--ttl-terra);}
.ttl-pr-nm{font-family:var(--ttl-fh);font-size:.9rem;font-style:italic;color:var(--ttl-stone);flex:1;}
.ttl-plan-row.ttl-pr-on .ttl-pr-nm{color:var(--ttl-navy);font-weight:700;}
.ttl-pr-pr{font-size:.88rem;font-weight:700;color:var(--ttl-mid);}
.ttl-ext-row{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r);padding:.55rem 1rem;display:flex;align-items:center;gap:.6rem;cursor:pointer;user-select:none;transition:var(--ttl-ease);margin-bottom:.3rem;}
.ttl-ext-row.ttl-er-on{border-color:var(--ttl-terra);background:var(--ttl-glow-t);}
.ttl-er-chk{width:14px;height:14px;border:2px solid var(--ttl-line);border-radius:3px;flex-shrink:0;transition:var(--ttl-ease);}
.ttl-ext-row.ttl-er-on .ttl-er-chk{background:var(--ttl-terra);border-color:var(--ttl-terra);}
.ttl-er-nm{font-size:.82rem;color:var(--ttl-stone);flex:1;}
.ttl-ext-row.ttl-er-on .ttl-er-nm{color:var(--ttl-navy);font-weight:600;}
.ttl-er-pr{font-size:.76rem;color:var(--ttl-stone);}
.ttl-hrs-ctrl{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r);padding:1rem;}
.ttl-hrs-rng{-webkit-appearance:none;width:100%;height:3px;background:var(--ttl-line);border-radius:2px;cursor:pointer;}
.ttl-hrs-rng::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ttl-terra);cursor:pointer;}
/* .ttl-tally = builder summary panel (FIRST!) */
.ttl-tally{background:var(--ttl-navy);border-radius:var(--ttl-r2);overflow:hidden;position:sticky;top:2rem;}
.ttl-tl-hd{padding:.6rem 1.2rem;background:var(--ttl-sea-d);}
.ttl-tl-ttl{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.25);}
.ttl-tl-bd{padding:.5rem 1.2rem;min-height:80px;}
.ttl-tl-ln{display:flex;justify-content:space-between;font-size:.76rem;color:rgba(255,255,255,.28);margin-bottom:.22rem;}
.ttl-tl-v{font-size:.86rem;color:rgba(255,255,255,.8);}
.ttl-tl-sep{border:none;border-top:1px solid rgba(255,255,255,.06);margin:.25rem 1.2rem;}
.ttl-tl-tot{display:flex;justify-content:space-between;align-items:flex-end;padding:.25rem 1.2rem .4rem;}
.ttl-tl-tl{font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.22);}
.ttl-tl-tv{font-family:var(--ttl-fh);font-size:2.4rem;font-weight:700;font-style:italic;color:var(--ttl-terra-l);}
.ttl-tl-ft{padding:.6rem 1.2rem;border-top:1px solid rgba(255,255,255,.06);}
.ttl-tl-go{display:block;width:100%;background:var(--ttl-terra);color:white;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;padding:.5rem;border-radius:var(--ttl-r);border:none;cursor:pointer;transition:background .14s;}
.ttl-tl-go:hover:not(:disabled){background:var(--ttl-terra-d);}
.ttl-tl-go:disabled{opacity:.2;cursor:not-allowed;}

/* CHECKOUT */
.ttl-co-wrap{max-width:760px;margin:0 auto;padding:3rem 2rem 7rem;}
.ttl-co-sum{border:2px solid var(--ttl-terra);border-radius:var(--ttl-r2);overflow:hidden;margin-bottom:2rem;}
.ttl-cs-hd{background:var(--ttl-terra);padding:.6rem 1.2rem;}
.ttl-cs-hd span{font-family:var(--ttl-fb);font-size:.28rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:white;}
.ttl-cs-bd{padding:.5rem 1.2rem;}
.ttl-cs-ln{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ttl-stone);padding:.26rem 0;border-bottom:1px solid var(--ttl-line);}
.ttl-cs-total{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0 .1rem;}
.ttl-cs-total span:first-child{font-size:.9rem;color:var(--ttl-mid);}
.ttl-cs-total span:last-child{font-family:var(--ttl-fh);font-size:1.8rem;font-weight:700;font-style:italic;color:var(--ttl-terra-d);}
.ttl-fg{margin-bottom:.65rem;}
.ttl-fl{display:block;font-family:var(--ttl-fb);font-size:.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ttl-stone);margin-bottom:.2rem;}
.ttl-fi{width:100%;background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r);padding:.6rem .9rem;color:var(--ttl-navy);font-size:.9rem;transition:border-color .14s;}
.ttl-fi:focus{outline:none;border-color:var(--ttl-terra);box-shadow:0 0 0 3px var(--ttl-glow-t);}
.ttl-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--ttl-stone);margin:1rem 0;line-height:1.6;}
.ttl-agree input{margin-top:.14rem;accent-color:var(--ttl-terra);}
.ttl-agree a{color:var(--ttl-terra);}

/* ABOUT, LEGAL, CONTACT, etc */
.ttl-about-pg{max-width:var(--ttl-max);margin:0 auto;padding:4rem 2rem 7rem;}
.ttl-ab-grid{display:grid;grid-template-columns:3fr 2fr;gap:4rem;align-items:start;margin-bottom:3rem;}
.ttl-ab-h{font-family:var(--ttl-fh);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;font-style:italic;color:var(--ttl-navy);margin-bottom:1.2rem;line-height:1.1;}
.ttl-ab-p{font-size:.9rem;color:var(--ttl-stone);line-height:1.82;margin-bottom:.8rem;}
.ttl-ab-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.ttl-ab-sv{font-family:var(--ttl-fh);font-size:3rem;font-weight:700;font-style:italic;color:var(--ttl-terra-d);display:block;line-height:1;}
.ttl-ab-sl{font-family:var(--ttl-fb);font-size:.28rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--ttl-stone);}
.ttl-ab-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;}
.ttl-ab-val{background:var(--ttl-card);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r2);padding:1.5rem;}
.ttl-ab-vah{font-family:var(--ttl-fh);font-size:.95rem;font-weight:700;font-style:italic;color:var(--ttl-navy);margin-bottom:.35rem;}
.ttl-ab-vap{font-size:.82rem;color:var(--ttl-stone);line-height:1.72;}
.ttl-legal-pg{max-width:800px;margin:0 auto;padding:4rem 2rem 7rem;}
.ttl-legal-eff{display:inline-block;font-size:.72rem;color:var(--ttl-stone);background:var(--ttl-paper);border:1px solid var(--ttl-line);padding:.18rem .65rem;border-radius:100px;margin-bottom:1.5rem;}
.ttl-legal-pg h2{font-family:var(--ttl-fh);font-size:1rem;font-weight:700;font-style:italic;color:var(--ttl-navy);margin:2.5rem 0 .45rem;}
.ttl-legal-pg p,.ttl-legal-pg li{font-size:.9rem;color:var(--ttl-stone);line-height:1.78;margin-bottom:.85rem;}
.ttl-legal-pg ul{padding-left:1.4rem;margin:.5rem 0;}
.ttl-legal-pg li{list-style:disc;}
.ttl-legal-pg a{color:var(--ttl-terra);}

/* ═══ FOOTER: Mediterranean Blue ═══ */
.ttl-footer{background:var(--ttl-sea-d);}
.ttl-footer-in{max-width:var(--ttl-max);margin:0 auto;padding:3rem 2rem 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;border-bottom:1px solid rgba(255,255,255,.06);}
/* Libre Baskerville 2rem logo (bigger!) */
.ttl-footer-brand{font-family:var(--ttl-fh);font-size:2rem;font-weight:700;font-style:italic;color:white;display:block;margin-bottom:.4rem;text-decoration:none;}
.ttl-footer-brand em{color:var(--ttl-terra-l);}
.ttl-footer-tag{font-size:.72rem;color:rgba(255,255,255,.2);line-height:1.65;margin-bottom:.7rem;}
/* Instagram+LinkedIn+Vimeo (FIRST combo in 13-site series!) */
.ttl-footer-socs{display:flex;gap:.4rem;margin-bottom:.7rem;}
.ttl-footer-soc{width:30px;height:30px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ttl-r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);transition:var(--ttl-ease);text-decoration:none;}
.ttl-footer-soc:hover{border-color:var(--ttl-terra-l);color:var(--ttl-terra-l);}
.ttl-ftr-col-h{font-family:var(--ttl-fb);font-size:.26rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:rgba(255,255,255,.16);margin-bottom:.65rem;}
.ttl-ftr-nav{display:flex;flex-direction:column;gap:.2rem;}
.ttl-ftr-nav a{font-size:.72rem;color:rgba(255,255,255,.18);transition:color .14s;text-decoration:none;}
.ttl-ftr-nav a:hover{color:var(--ttl-terra-l);}
.ttl-ftr-ct a{display:flex;align-items:flex-start;gap:.3rem;font-size:.7rem;color:rgba(255,255,255,.18);transition:color .14s;text-decoration:none;margin-bottom:.22rem;}
.ttl-ftr-ct a:hover{color:var(--ttl-terra-l);}
.ttl-footer-base{max-width:var(--ttl-max);margin:0 auto;padding:.65rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.ttl-ftr-copy{font-size:.6rem;color:rgba(255,255,255,.1);}
.ttl-ftr-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.ttl-ftr-legal a{font-size:.6rem;color:rgba(255,255,255,.1);transition:color .14s;text-decoration:none;}
.ttl-ftr-legal a:hover{color:var(--ttl-terra-l);}

/* COOKIE + CHAT */
.ttl-ck-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--ttl-navy);border-top:2px solid var(--ttl-terra);padding:.9rem 2rem;display:none;align-items:center;gap:2rem;justify-content:space-between;flex-wrap:wrap;}
.ttl-ck-bar p{font-size:.8rem;color:rgba(255,255,255,.35);margin:0;}
.ttl-ck-bar a{color:var(--ttl-terra-l);}
.ttl-ck-btns{display:flex;gap:.5rem;flex-shrink:0;}
.ttl-ck-y{background:var(--ttl-terra);color:white;font-family:var(--ttl-fb);font-size:.88rem;font-weight:700;padding:.28rem .85rem;border-radius:var(--ttl-r3);cursor:pointer;border:none;}
.ttl-ck-n{background:transparent;color:rgba(255,255,255,.25);font-family:var(--ttl-fb);font-size:.82rem;padding:.26rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--ttl-r3);cursor:pointer;}
.ttl-chat-fab{position:fixed;bottom:4.5rem;right:1.5rem;z-index:9990;width:50px;height:50px;background:var(--ttl-terra);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 20px rgba(212,135,90,.35);transition:var(--ttl-ease);color:white;}
.ttl-chat-fab:hover{background:var(--ttl-terra-d);transform:scale(1.07);}
.ttl-chatpop{position:fixed;bottom:7rem;right:1.5rem;z-index:9989;width:290px;background:white;border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r2);box-shadow:var(--ttl-sh2);opacity:0;pointer-events:none;transform:translateY(10px) scale(.97);transition:opacity .2s,transform .22s;overflow:hidden;}
.ttl-chatpop.ttl-cp-vis{opacity:1;pointer-events:auto;transform:none;}
.ttl-chat-hd{background:var(--ttl-sea-d);padding:.8rem 1.1rem;}
.ttl-chat-brand{font-family:var(--ttl-fh);font-size:1rem;font-weight:700;font-style:italic;color:white;}
.ttl-chat-brand em{color:var(--ttl-terra-l);}
.ttl-chat-bd{padding:.8rem 1rem;}
.ttl-chat-inp{width:100%;background:var(--ttl-paper);border:1.5px solid var(--ttl-line);border-radius:var(--ttl-r);padding:.5rem .8rem;font-size:.84rem;color:var(--ttl-navy);margin-bottom:.35rem;resize:none;transition:border-color .14s;}
.ttl-chat-inp:focus{outline:none;border-color:var(--ttl-terra);}
.ttl-chat-send{width:100%;background:var(--ttl-terra);color:white;font-family:var(--ttl-fb);font-size:.9rem;font-weight:700;padding:.5rem;border-radius:var(--ttl-r);border:none;cursor:pointer;transition:background .14s;}
.ttl-chat-send:hover{background:var(--ttl-terra-d);}
.ttl-chat-done{display:none;text-align:center;padding:.9rem;}
/* REVEAL, RESULT, SEC HEADERS */
.ttl-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s;}
.ttl-reveal.ttl-in{opacity:1;transform:none;}
.ttl-result-pg{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem;flex-direction:column;gap:1.5rem;}
.ttl-sec-hd{margin-bottom:2.5rem;}
.ttl-sec-hd h2{font-family:var(--ttl-fh);font-size:clamp(2rem,4.5vw,3.8rem);font-weight:700;font-style:italic;color:var(--ttl-navy);}
.ttl-sec-sub{font-size:.88rem;color:var(--ttl-stone);margin-top:.4rem;max-width:60ch;}
/* RESPONSIVE */
@media(max-width:960px){
  .ttl-topbar-in{padding:0 1.5rem;}
  .ttl-tb-left .ttl-tb-lk:not(:first-child){display:none;}
  .ttl-header-in{padding:.6rem 1.5rem;}
  .ttl-nav{display:none;}
  .ttl-mob-btn{display:flex;}
  .ttl-hero-in,.ttl-as-in,.ttl-svcpg-wrap,.ttl-build-wrap,.ttl-cta-in,.ttl-ab-grid{grid-template-columns:1fr;}
  .ttl-hero-right{display:none;}
  .ttl-svc-grid{grid-template-columns:1fr 1fr;}
  .ttl-plan-grid{grid-template-columns:1fr;}
  .ttl-testi-grid{grid-template-columns:1fr;}
  .ttl-port-grid{grid-template-columns:1fr;}
  .ttl-port-cd.ttl-port-wide{grid-column:1/2;}
  .ttl-footer-in{grid-template-columns:1fr 1fr;}
  .ttl-ab-vals{grid-template-columns:1fr 1fr;}
  .ttl-mega-wrap{display:none;}
}
@media(max-width:600px){
  .ttl-svc-grid{grid-template-columns:1fr;}
  .ttl-testi-grid{grid-template-columns:1fr;}
  .ttl-footer-in{grid-template-columns:1fr;}
  .ttl-ab-vals{grid-template-columns:1fr;}
}
