/* tracycopywriter.com | style.css */
/* DM Serif Display (heading) + Nunito (body) | Warm terracotta + sand palette */

:root{
  --ty-rust:   #C84B2D;
  --ty-rust-d: #A33A21;
  --ty-rust-bg:rgba(200,75,45,.08);
  --ty-rust-bg2:rgba(200,75,45,.15);
  --ty-sand:   #F5EDD8;
  --ty-sand2:  #EDE3CA;
  --ty-white:  #FDFAF4;
  --ty-ink:    #242322;
  --ty-ink2:   #3C3B39;
  --ty-mist:   #6B6660;
  --ty-mist2:  #9E9792;
  --ty-fog:    #D5CFC6;
  --ty-fog2:   #EAE5DC;
  --ty-green:  #2E6B3E;
  --ty-fh: 'DM Serif Display', Georgia, serif;
  --ty-fb: 'Nunito', system-ui, sans-serif;
  --ty-max: 1200px;
  --ty-r:  5px;
  --ty-r2: 10px;
  --ty-r3: 999px;
  --ty-sh:  0 2px 18px rgba(36,35,34,.06);
  --ty-sh2: 0 8px 50px rgba(36,35,34,.12);
  --ty-tr: all .16s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--ty-fb);font-size:clamp(0.93rem,1.4vw,1rem);color:var(--ty-ink);background:var(--ty-white);line-height:1.74;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;}
ul,ol{list-style:none;}

/* ─ Layout ─ */
.ty-wrap{max-width:var(--ty-max);margin:0 auto;padding:0 2rem;}
.ty-wrap-sm{max-width:800px;margin:0 auto;padding:0 2rem;}

/* ─ Eyebrow ─ */
.ty-eye{font-family:var(--ty-fb);font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.32em;color:var(--ty-rust);display:block;margin-bottom:.5rem;}
.ty-eye--sand{color:var(--ty-sand2);}

/* ─ Headings ─ */
.ty-h1{font-family:var(--ty-fh);font-size:clamp(3rem,7vw,7rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:.95;font-style:normal;}
.ty-h2{font-family:var(--ty-fh);font-size:clamp(2.4rem,5vw,4.5rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:.95;}
.ty-h2--sm{font-size:clamp(1.8rem,3.5vw,3rem);}
.ty-sub{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--ty-mist);line-height:1.78;max-width:60ch;}
.ty-pg-head{background:var(--ty-sand);padding:6rem 2rem 3.5rem;border-bottom:1px solid var(--ty-fog);}
.ty-pg-head h1{font-family:var(--ty-fh);font-size:clamp(2.5rem,6vw,5rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:.95;text-align:center;max-width:16ch;margin:0 auto;}
.ty-pg-head .ty-sub{margin:.8rem auto 0;text-align:center;}

/* ─ Buttons ─ */
.ty-btn-rust{display:inline-flex;align-items:center;gap:.4rem;background:var(--ty-rust);color:#fff;font-family:var(--ty-fb);font-size:clamp(0.85rem,1.3vw,0.95rem);font-weight:700;padding:.58rem 1.6rem;border-radius:var(--ty-r3);border:none;cursor:pointer;transition:background .14s,transform .12s;white-space:nowrap;text-decoration:none;}
.ty-btn-rust:hover{background:var(--ty-rust-d);transform:translateY(-1px);}
.ty-btn-sand{display:inline-flex;align-items:center;gap:.4rem;background:var(--ty-sand);color:var(--ty-ink);font-family:var(--ty-fb);font-size:clamp(0.85rem,1.3vw,0.95rem);font-weight:700;padding:.55rem 1.5rem;border-radius:var(--ty-r3);border:1.5px solid var(--ty-fog);cursor:pointer;transition:var(--ty-tr);white-space:nowrap;text-decoration:none;}
.ty-btn-sand:hover{border-color:var(--ty-rust);color:var(--ty-rust);}
.ty-link-rust{color:var(--ty-rust);font-weight:700;font-size:clamp(0.82rem,1.2vw,0.9rem);display:inline-flex;align-items:center;gap:.3rem;transition:gap .14s;}
.ty-link-rust:hover{gap:.5rem;}

/* ─ Reveal ─ */
.ty-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease;}
.ty-in{opacity:1;transform:none;}

/* ─ HEADER ─ */
.ty-header{position:sticky;top:0;z-index:600;background:rgba(253,250,244,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1.5px solid var(--ty-fog2);}
.ty-hdr-in{max-width:var(--ty-max);margin:0 auto;padding:0 2rem;height:68px;display:flex;align-items:center;gap:1.5rem;}
.ty-logo{font-family:var(--ty-fh);font-size:clamp(1.5rem,2.5vw,1.9rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:1;white-space:nowrap;}
.ty-logo span{color:var(--ty-rust);}
/* Dropdown nav */
.ty-nav{display:flex;align-items:center;gap:0;margin-left:auto;}
.ty-nav-item{position:relative;}
.ty-nav-link{display:flex;align-items:center;gap:.2rem;font-family:var(--ty-fb);font-size:clamp(0.9rem,1.3vw,1rem);font-weight:600;color:var(--ty-mist);padding:.5rem .8rem;border-radius:var(--ty-r);transition:color .14s;white-space:nowrap;cursor:pointer;background:none;border:none;}
.ty-nav-link:hover,.ty-nav-on{color:var(--ty-ink);}
.ty-nav-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:var(--ty-white);border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);box-shadow:var(--ty-sh2);padding:.5rem 0;z-index:700;}
.ty-nav-item:hover .ty-nav-drop{display:block;}
.ty-drop-lnk{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:var(--ty-mist);transition:color .14s,background .14s;}
.ty-drop-lnk:hover{color:var(--ty-rust);background:var(--ty-rust-bg);}
.ty-drop-lnk svg{color:var(--ty-rust);flex-shrink:0;}
.ty-hdr-end{display:flex;align-items:center;gap:.6rem;margin-left:.5rem;}
.ty-lang-tog{font-size:0.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border:1.5px solid var(--ty-fog);border-radius:var(--ty-r3);padding:.22rem .65rem;color:var(--ty-mist);transition:var(--ty-tr);}
.ty-lang-tog:hover{border-color:var(--ty-rust);color:var(--ty-rust);}
.ty-hdr-cta{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;background:var(--ty-rust);color:#fff;padding:.38rem 1.1rem;border-radius:var(--ty-r3);transition:background .14s;white-space:nowrap;}
.ty-hdr-cta:hover{background:var(--ty-rust-d);}
.ty-mob-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto;}
.ty-mob-bar{display:block;height:2px;background:var(--ty-ink);border-radius:2px;transition:var(--ty-tr);}
.ty-mob-panel{display:none;background:var(--ty-sand);border-top:1.5px solid var(--ty-fog);padding:1.5rem 2rem 2rem;}
.ty-mob-panel.ty-mob-open{display:block;}
.ty-mob-nav{display:flex;flex-direction:column;gap:.8rem;}
.ty-mob-nav .ty-nav-link{font-size:1.05rem;color:var(--ty-ink);padding:.4rem 0;}
.ty-mob-nav .ty-drop-lnk{padding:.4rem .5rem;font-size:0.95rem;}
.ty-hdr-cta--mob{margin-top:.4rem;width:fit-content;}

/* ─ HERO: ty-atlas ─ */
.ty-atlas{background:var(--ty-white);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:86vh;}
.ty-atlas-left{background:var(--ty-rust);display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 2rem;position:relative;}
.ty-atlas-left::after{content:'';position:absolute;right:-1px;top:0;bottom:0;width:40px;background:inherit;clip-path:polygon(0 0,0 100%,100% 50%);}
.ty-atlas-eye{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:rgba(255,255,255,.55);display:block;margin-bottom:1.5rem;}
.ty-atlas-h{font-family:var(--ty-fh);font-size:clamp(3.5rem,7vw,7rem);color:#fff;line-height:.92;letter-spacing:-.02em;margin-bottom:1.5rem;}
.ty-atlas-sub{font-size:clamp(0.92rem,1.5vw,1.1rem);color:rgba(255,255,255,.7);max-width:48ch;line-height:1.75;margin-bottom:2.5rem;}
.ty-atlas-btns{display:flex;gap:.8rem;flex-wrap:wrap;}
.ty-atlas-btns .ty-btn-sand{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3);}
.ty-atlas-btns .ty-btn-sand:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5);}
.ty-atlas-right{position:relative;overflow:hidden;}
.ty-atlas-right img{width:100%;height:100%;object-fit:cover;display:block;}
.ty-atlas-stat-strip{position:absolute;bottom:0;left:0;right:0;background:rgba(253,250,244,.92);backdrop-filter:blur(10px);padding:.8rem 2rem;display:flex;gap:2.5rem;align-items:center;}
.ty-atlas-stat-n{font-family:var(--ty-fh);font-size:1.4rem;color:var(--ty-rust);font-weight:400;line-height:1;}
.ty-atlas-stat-l{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ty-mist);margin-top:.1rem;}

/* ─ BENTO CASES: ty-mosaic ─ */
.ty-mosaic{padding:6rem 0;background:var(--ty-sand);}
.ty-mosaic-hd{margin-bottom:2.5rem;}
.ty-mosaic-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1.2rem;}
.ty-mosaic-grid .ty-mc:first-child{grid-row:1/3;}
.ty-mc{background:var(--ty-white);border-radius:var(--ty-r2);overflow:hidden;border:1.5px solid var(--ty-fog);transition:var(--ty-tr);}
.ty-mc:hover{transform:translateY(-2px);box-shadow:var(--ty-sh2);border-color:var(--ty-rust);}
.ty-mc-img{width:100%;object-fit:cover;background:var(--ty-sand2);display:block;}
.ty-mosaic-grid .ty-mc:first-child .ty-mc-img{height:380px;}
.ty-mc-img.ty-mc-img-sm{height:180px;}
.ty-mc-body{padding:1.6rem;}
.ty-mc-cat{font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--ty-rust);display:block;margin-bottom:.2rem;}
.ty-mc-nm{font-family:var(--ty-fh);font-size:clamp(1.15rem,2vw,1.5rem);color:var(--ty-ink);margin-bottom:.2rem;}
.ty-mc-loc{font-size:0.72rem;color:var(--ty-mist2);display:block;margin-bottom:.4rem;}
.ty-mc-svc{font-size:0.78rem;font-weight:600;color:var(--ty-mist);display:block;margin-bottom:.5rem;}
.ty-mc-stat{font-family:var(--ty-fh);font-size:1.8rem;color:var(--ty-rust);line-height:1;display:block;font-style:italic;}
.ty-mc-stat-l{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--ty-mist2);display:block;margin-top:.1rem;}
.ty-mc-desc{font-size:clamp(0.78rem,1.2vw,0.88rem);color:var(--ty-mist);line-height:1.72;margin-top:.5rem;}

/* ─ SERVICES: ty-shelf ─ */
.ty-shelf{padding:6rem 0;background:var(--ty-white);}
.ty-shelf-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap;}
/* Editorial grid: first card big, rest smaller */
.ty-shelf-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1px;background:var(--ty-fog);}
.ty-shelf-grid .ty-sc:first-child{grid-row:1/3;}
.ty-sc{background:var(--ty-white);padding:2.5rem 2rem;display:flex;flex-direction:column;text-decoration:none;transition:background .14s;}
.ty-sc:hover{background:var(--ty-sand);}
.ty-sc:hover .ty-sc-arr{transform:translate(3px,-3px);}
.ty-sc-idx{font-size:0.55rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ty-mist2);display:block;margin-bottom:.4rem;}
.ty-sc-ico{color:var(--ty-rust);margin-bottom:.5rem;}
.ty-sc-nm{font-family:var(--ty-fh);font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--ty-ink);margin-bottom:.3rem;line-height:1.1;}
.ty-shelf-grid .ty-sc:first-child .ty-sc-nm{font-size:clamp(1.6rem,3vw,2.5rem);}
.ty-sc-brief{font-size:clamp(0.75rem,1.1vw,0.85rem);color:var(--ty-mist);line-height:1.72;flex:1;}
.ty-sc-pr{font-size:0.72rem;font-weight:700;color:var(--ty-rust);margin-top:.8rem;padding-top:.6rem;border-top:1.5px solid var(--ty-fog);}
.ty-sc-arr{color:var(--ty-mist2);margin-top:.3rem;transition:transform .16s;}

/* ─ PROCESS: ty-journey ─ */
.ty-journey{padding:6rem 0;background:var(--ty-sand);}
.ty-journey-hd{margin-bottom:3rem;}
.ty-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ty-fog);}
.ty-jstep{background:var(--ty-sand);padding:2.5rem 1.8rem;border:0;}
.ty-jstep:hover{background:var(--ty-white);}
.ty-jstep-n{font-family:var(--ty-fh);font-size:clamp(2rem,5vw,4rem);color:var(--ty-fog);line-height:1;font-style:italic;display:block;margin-bottom:.4rem;}
.ty-jstep-ico{color:var(--ty-rust);margin-bottom:.5rem;}
.ty-jstep-nm{font-family:var(--ty-fh);font-size:clamp(1rem,1.7vw,1.2rem);color:var(--ty-ink);margin-bottom:.4rem;}
.ty-jstep-body{font-size:clamp(0.75rem,1.1vw,0.85rem);color:var(--ty-mist);line-height:1.72;}

/* ─ TESTIMONIALS: ty-praise ─ */
.ty-praise{padding:6rem 0;background:var(--ty-white);}
.ty-praise-hd{margin-bottom:2.5rem;}
.ty-praise-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.ty-praise-card{border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);padding:2.5rem 2rem;background:var(--ty-sand);display:flex;flex-direction:column;gap:1rem;}
.ty-praise-stars{display:flex;gap:2px;color:var(--ty-rust);}
.ty-praise-q{font-family:var(--ty-fh);font-style:italic;font-size:clamp(1rem,1.6vw,1.15rem);color:var(--ty-ink);line-height:1.55;flex:1;}
.ty-praise-who{font-weight:700;font-size:clamp(0.88rem,1.3vw,0.96rem);color:var(--ty-ink);display:block;}
.ty-praise-role{font-size:0.72rem;color:var(--ty-mist2);display:block;margin-top:.1rem;}

/* ─ PRICING: ty-scheme — HORIZONTAL ROW LAYOUT ─ */
.ty-scheme{padding:6rem 0;background:var(--ty-sand);}
.ty-scheme-hd{margin-bottom:2.5rem;}
.ty-scheme-rows{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);overflow:hidden;}
.ty-srow{display:grid;grid-template-columns:160px 1fr auto auto;gap:2rem;align-items:center;padding:2rem 2.5rem;background:var(--ty-white);border-bottom:1.5px solid var(--ty-fog);transition:background .14s;position:relative;}
.ty-srow:last-child{border-bottom:none;}
.ty-srow:hover{background:var(--ty-sand);}
.ty-srow.ty-srow-feat{background:var(--ty-rust);}
.ty-srow.ty-srow-feat:hover{background:var(--ty-rust-d);}
.ty-srow-badge{position:absolute;top:.5rem;left:.5rem;font-size:0.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ty-rust);background:var(--ty-rust-bg2);padding:.1rem .4rem;border-radius:var(--ty-r3);}
.ty-srow-feat .ty-srow-badge{color:#fff;background:rgba(255,255,255,.2);}
.ty-srow-name{font-family:var(--ty-fh);font-size:clamp(1.4rem,2.5vw,2rem);color:var(--ty-ink);}
.ty-srow-feat .ty-srow-name{color:#fff;}
.ty-srow-desc{font-size:clamp(0.78rem,1.2vw,0.88rem);color:var(--ty-mist);margin-top:.2rem;}
.ty-srow-feat .ty-srow-desc{color:rgba(255,255,255,.65);}
.ty-srow-feats{display:flex;flex-wrap:wrap;gap:.4rem .8rem;}
.ty-srow-tag{font-size:0.68rem;font-weight:600;color:var(--ty-mist);background:var(--ty-sand2);border-radius:var(--ty-r3);padding:.15rem .55rem;}
.ty-srow-feat .ty-srow-tag{background:rgba(255,255,255,.15);color:rgba(255,255,255,.8);}
.ty-srow-pr{font-family:var(--ty-fh);font-size:clamp(1.6rem,3vw,2.5rem);color:var(--ty-ink);white-space:nowrap;font-style:italic;}
.ty-srow-feat .ty-srow-pr{color:#fff;}
.ty-srow-pp{font-size:0.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ty-mist2);display:block;margin-top:.1rem;white-space:nowrap;}
.ty-srow-feat .ty-srow-pp{color:rgba(255,255,255,.45);}
.ty-srow-cta{border:1.5px solid var(--ty-fog);background:transparent;color:var(--ty-ink);font-family:var(--ty-fb);font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;padding:.5rem 1.4rem;border-radius:var(--ty-r3);cursor:pointer;transition:var(--ty-tr);white-space:nowrap;}
.ty-srow-cta:hover{background:var(--ty-rust);border-color:var(--ty-rust);color:#fff;}
.ty-srow-feat .ty-srow-cta{border-color:#fff;background:#fff;color:var(--ty-rust);}
.ty-srow-feat .ty-srow-cta:hover{background:var(--ty-sand);border-color:var(--ty-sand);}
.ty-scheme-foot{margin-top:1.5rem;text-align:center;}

/* ─ FAQ: ty-asks ─ */
.ty-asks{padding:6rem 0;background:var(--ty-white);}
.ty-asks-hd{margin-bottom:2.5rem;}
.ty-asks-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;}
.ty-ask{border-bottom:1.5px solid var(--ty-fog);}
.ty-ask-trig{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;background:none;border:none;cursor:pointer;text-align:left;}
.ty-ask-q{font-family:var(--ty-fh);font-size:clamp(0.92rem,1.5vw,1.05rem);color:var(--ty-ink);}
.ty-ask-ico{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ty-fog);display:flex;align-items:center;justify-content:center;color:var(--ty-mist);transition:var(--ty-tr);}
.ty-ask.ty-ask-open .ty-ask-ico{background:var(--ty-rust);border-color:var(--ty-rust);color:#fff;}
.ty-ask-ans{display:none;padding-bottom:1.2rem;}
.ty-ask-ans p{font-size:clamp(0.82rem,1.3vw,0.9rem);color:var(--ty-mist);line-height:1.8;}
.ty-ask.ty-ask-open .ty-ask-ans{display:block;}

/* ─ CTA with form: ty-spark ─ */
.ty-spark{padding:6rem 0;background:var(--ty-sand2);}
.ty-spark-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.ty-spark-left h2{font-family:var(--ty-fh);font-size:clamp(2.5rem,6vw,5.5rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:.92;margin-bottom:.8rem;}
.ty-spark-left p{font-size:clamp(0.9rem,1.5vw,1.05rem);color:var(--ty-mist);line-height:1.78;margin-bottom:1.2rem;}

/* ─ FORMS ─ */
.ty-form{display:flex;flex-direction:column;gap:1rem;}
.ty-field{display:flex;flex-direction:column;gap:.3rem;}
.ty-field label{font-size:0.78rem;font-weight:700;color:var(--ty-ink);}
.ty-field input,.ty-field select,.ty-field textarea{width:100%;background:var(--ty-white);border:1.5px solid var(--ty-fog);border-radius:var(--ty-r);padding:.55rem .85rem;font-size:clamp(0.85rem,1.3vw,0.94rem);color:var(--ty-ink);transition:border-color .14s;outline:none;}
.ty-field input:focus,.ty-field select:focus,.ty-field textarea:focus{border-color:var(--ty-rust);}
.ty-field textarea{min-height:130px;resize:vertical;}
.ty-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.ty-agree-row{display:flex;align-items:flex-start;gap:.5rem;font-size:clamp(0.78rem,1.2vw,0.86rem);color:var(--ty-mist);}
.ty-agree-row input[type="checkbox"]{width:16px;height:16px;margin-top:.15rem;flex-shrink:0;accent-color:var(--ty-rust);}
.ty-agree-row a{color:var(--ty-rust);text-decoration:underline;}
.ty-form-done{display:none;padding:1.5rem;border-radius:var(--ty-r2);background:var(--ty-rust-bg);border:1.5px solid var(--ty-rust-bg2);text-align:center;}
.ty-form-done p:first-child{font-family:var(--ty-fh);font-size:1.1rem;color:var(--ty-rust);}
.ty-form-done p{font-size:0.88rem;color:var(--ty-mist);}

/* ─ FOOTER: ty-ground ─ */
.ty-ground{background:var(--ty-ink);border-top:3px solid var(--ty-rust);}
.ty-ground-top{max-width:var(--ty-max);margin:0 auto;padding:4rem 2rem 3rem;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2.5rem;}
.ty-ground-logo{font-family:var(--ty-fh);font-size:clamp(1.5rem,2.5vw,1.9rem);color:var(--ty-white);display:block;margin-bottom:.5rem;}
.ty-ground-logo span{color:var(--ty-rust);}
.ty-ground-tag{font-size:0.78rem;color:var(--ty-mist2);line-height:1.6;margin-bottom:.8rem;}
.ty-ground-socs{display:flex;gap:.5rem;}
.ty-gsoc{color:var(--ty-mist);transition:color .14s;padding:3px;}
.ty-gsoc:hover{color:var(--ty-rust);}
.ty-gcol-h{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(253,250,244,.25);display:block;margin-bottom:.8rem;}
.ty-gcol-nav{display:flex;flex-direction:column;gap:.45rem;}
.ty-gcol-nav a{font-size:clamp(0.8rem,1.2vw,0.88rem);color:var(--ty-mist2);transition:color .14s;}
.ty-gcol-nav a:hover{color:var(--ty-white);}
.ty-gcontact{display:flex;flex-direction:column;gap:.45rem;}
.ty-gcontact a,.ty-gcontact span{font-size:clamp(0.78rem,1.1vw,0.86rem);color:var(--ty-mist2);display:flex;align-items:center;gap:.4rem;transition:color .14s;}
.ty-gcontact a:hover{color:var(--ty-white);}
.ty-ground-base{border-top:1px solid rgba(253,250,244,.07);padding:1.2rem 2rem;max-width:var(--ty-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.ty-gc-copy{font-size:0.72rem;color:rgba(253,250,244,.2);}
.ty-gc-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.ty-gc-legal a{font-size:0.68rem;color:rgba(253,250,244,.2);transition:color .14s;}
.ty-gc-legal a:hover{color:var(--ty-mist2);}

/* ─ COOKIE ─ */
.ty-cookie{position:fixed;bottom:1rem;right:1rem;z-index:900;background:var(--ty-ink);border-radius:var(--ty-r2);padding:1rem 1.2rem;max-width:320px;box-shadow:var(--ty-sh2);}
.ty-cookie p{font-size:0.78rem;color:rgba(253,250,244,.6);line-height:1.5;margin-bottom:.6rem;}
.ty-cookie a{color:var(--ty-rust);}
.ty-cookie-btns{display:flex;gap:.5rem;}
.ty-ck-yes{font-size:0.72rem;font-weight:700;background:var(--ty-rust);color:#fff;border:none;border-radius:var(--ty-r3);padding:.28rem .8rem;cursor:pointer;}
.ty-ck-no{font-size:0.72rem;font-weight:600;background:transparent;color:rgba(253,250,244,.4);border:1.5px solid rgba(253,250,244,.15);border-radius:var(--ty-r3);padding:.28rem .8rem;cursor:pointer;}
.ty-cookie.ty-ck-off{display:none;}

/* ─ BUILDER ─ */
.ty-builder{padding:3rem 0 6rem;background:var(--ty-sand);}
.ty-build-grid{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;}
.ty-build-blocks{display:flex;flex-direction:column;gap:2rem;}
.ty-bblk{background:var(--ty-white);border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);padding:2rem;}
.ty-bblk-h{font-family:var(--ty-fh);font-size:clamp(1.05rem,1.7vw,1.25rem);color:var(--ty-ink);margin-bottom:.3rem;}
.ty-bblk-sub{font-size:clamp(0.75rem,1.1vw,0.84rem);color:var(--ty-mist);margin-bottom:1.2rem;}
.ty-plan-list{display:flex;flex-direction:column;gap:.6rem;}
.ty-plan-inp{position:absolute;opacity:0;width:0;height:0;}
.ty-plan-lbl{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1.5px solid var(--ty-fog);border-radius:var(--ty-r);cursor:pointer;transition:var(--ty-tr);flex-wrap:wrap;}
.ty-plan-inp:checked+.ty-plan-lbl{border-color:var(--ty-rust);background:var(--ty-rust-bg);}
.ty-plan-lbl:hover{border-color:var(--ty-fog);}
.ty-plan-lbl:hover{border-color:var(--ty-rust);}
.ty-pln-nm{font-weight:700;color:var(--ty-ink);font-size:clamp(0.9rem,1.4vw,1rem);}
.ty-pln-sub{font-size:0.72rem;color:var(--ty-mist);margin-top:.1rem;}
.ty-pln-pr{font-family:var(--ty-fh);font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--ty-ink);white-space:nowrap;font-style:italic;}
.ty-add-list{display:flex;flex-direction:column;gap:.5rem;}
.ty-add-inp{position:absolute;opacity:0;width:0;height:0;}
.ty-add-lbl{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1.5px solid var(--ty-fog);border-radius:var(--ty-r);cursor:pointer;transition:var(--ty-tr);flex-wrap:wrap;}
.ty-add-inp:checked+.ty-add-lbl{border-color:var(--ty-rust);background:var(--ty-rust-bg);}
.ty-add-lbl:hover{border-color:var(--ty-rust);}
.ty-add-nm{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:600;color:var(--ty-ink);}
.ty-add-brief{font-size:0.72rem;color:var(--ty-mist);margin-top:.1rem;}
.ty-add-pr{font-size:clamp(0.82rem,1.2vw,0.9rem);font-weight:700;color:var(--ty-rust);white-space:nowrap;}
.ty-hrs-bar{display:flex;align-items:center;gap:1rem;}
.ty-hrs-sl{flex:1;accent-color:var(--ty-rust);}
.ty-hrs-num{font-family:var(--ty-fh);font-size:1.4rem;color:var(--ty-ink);min-width:2.5ch;text-align:center;font-style:italic;}
/* Summary */
.ty-sumbox{position:sticky;top:82px;background:var(--ty-ink);border-radius:var(--ty-r2);padding:2rem;color:var(--ty-white);}
.ty-sum-ttl{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:rgba(253,250,244,.3);display:block;margin-bottom:1.2rem;}
.ty-sum-rows{display:flex;flex-direction:column;gap:.2rem;min-height:2rem;margin-bottom:1rem;}
.ty-sum-row{display:flex;justify-content:space-between;gap:.5rem;font-size:0.82rem;color:rgba(253,250,244,.55);}
.ty-sum-empty{font-size:0.82rem;color:rgba(253,250,244,.25);font-style:italic;}
.ty-sum-div{border:none;border-top:1px solid rgba(253,250,244,.08);margin:.6rem 0;}
.ty-sum-total{display:flex;justify-content:space-between;align-items:baseline;}
.ty-sum-tl{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(253,250,244,.45);}
.ty-sum-tv{font-family:var(--ty-fh);font-size:clamp(1.8rem,3vw,2.4rem);color:var(--ty-white);font-style:italic;}
.ty-sum-go{margin-top:1.2rem;width:100%;font-family:var(--ty-fb);font-size:clamp(0.85rem,1.2vw,0.94rem);font-weight:700;padding:.58rem;border-radius:var(--ty-r2);border:none;background:var(--ty-rust);color:#fff;cursor:pointer;transition:background .14s;}
.ty-sum-go:hover:not(:disabled){background:var(--ty-rust-d);}
.ty-sum-go:disabled{opacity:.3;cursor:not-allowed;}
.ty-sum-note{font-size:0.62rem;color:rgba(253,250,244,.18);text-align:center;margin-top:.5rem;line-height:1.5;}

/* ─ Checkout ─ */
.ty-checkout{padding:3rem 0 6rem;background:var(--ty-sand);}
.ty-co-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.ty-co-form{background:var(--ty-white);border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);padding:2.5rem;}
.ty-co-form h2{font-family:var(--ty-fh);font-size:clamp(1.5rem,2.5vw,2rem);color:var(--ty-ink);margin-bottom:1.5rem;}
.ty-co-panel{background:var(--ty-ink);border-radius:var(--ty-r2);padding:2rem;position:sticky;top:82px;}
.ty-co-panel h2{font-family:var(--ty-fh);font-size:1.2rem;color:var(--ty-white);margin-bottom:1.2rem;}
.ty-co-row{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid rgba(253,250,244,.06);font-size:0.82rem;color:rgba(253,250,244,.5);}
.ty-co-trow{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding-top:.8rem;}
.ty-co-tl{font-weight:700;font-size:0.84rem;color:rgba(253,250,244,.65);}
.ty-co-tv{font-family:var(--ty-fh);font-size:1.5rem;color:var(--ty-white);font-style:italic;}
.ty-co-note{font-size:0.7rem;color:rgba(253,250,244,.25);margin-top:1rem;line-height:1.6;}

/* ─ Service page ─ */
.ty-svc-hero{background:var(--ty-sand);padding:6rem 2rem 4rem;border-bottom:1.5px solid var(--ty-fog);position:relative;overflow:hidden;}
.ty-svc-hero::before{content:'';position:absolute;left:0;top:0;width:6px;height:100%;background:var(--ty-rust);}
.ty-svc-hero-in{max-width:var(--ty-max);margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:4rem;align-items:center;}
.ty-svc-hero-left h1{font-family:var(--ty-fh);font-size:clamp(2.8rem,6vw,5rem);color:var(--ty-ink);letter-spacing:-.02em;line-height:.9;margin-bottom:1rem;}
.ty-svc-hero-left .ty-sub{margin-bottom:1.5rem;}
.ty-svc-img{border-radius:var(--ty-r2);overflow:hidden;border:1.5px solid var(--ty-fog);}
.ty-svc-img img{width:100%;height:300px;object-fit:cover;background:var(--ty-sand2);display:block;}
.ty-svc-body{padding:4rem 0;background:var(--ty-white);}
.ty-svc-cols{max-width:var(--ty-max);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 320px;gap:4rem;}
.ty-svc-text h2{font-family:var(--ty-fh);font-size:clamp(1.4rem,2.5vw,2rem);color:var(--ty-ink);margin:1.5rem 0 .6rem;}
.ty-svc-text p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--ty-mist);line-height:1.82;margin-bottom:.9rem;}
.ty-svc-text ul{margin:.5rem 0 1rem 1rem;list-style:disc;}
.ty-svc-text li{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--ty-mist);line-height:1.75;margin-bottom:.3rem;}
.ty-svc-aside{position:sticky;top:82px;}
.ty-svc-aside-card{background:var(--ty-sand);border:1.5px solid var(--ty-fog);border-radius:var(--ty-r2);padding:2rem;}
.ty-svc-aside-card h3{font-family:var(--ty-fh);font-size:1.1rem;color:var(--ty-ink);margin-bottom:.8rem;}
.ty-svc-pr-big{font-family:var(--ty-fh);font-size:clamp(2rem,3.5vw,3rem);color:var(--ty-rust);display:block;margin-bottom:.2rem;font-style:italic;}
.ty-svc-pr-note{font-size:0.72rem;color:var(--ty-mist2);display:block;margin-bottom:1.2rem;}
.ty-svc-inc{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem;}
.ty-svc-inc-row{display:flex;align-items:center;gap:.4rem;font-size:0.82rem;color:var(--ty-mist);}
.ty-svc-inc-row svg{color:var(--ty-rust);flex-shrink:0;}

/* ─ About / Process / Portfolio / Legal ─ */
.ty-about-body{padding:3rem 0 6rem;background:var(--ty-white);}
.ty-ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;max-width:var(--ty-max);margin:0 auto;padding:0 2rem;}
.ty-ab-img{border-radius:var(--ty-r2);overflow:hidden;border:1.5px solid var(--ty-fog);}
.ty-ab-img img{width:100%;height:460px;object-fit:cover;background:var(--ty-sand2);display:block;}
.ty-ab-text h2{font-family:var(--ty-fh);font-size:clamp(1.8rem,3vw,2.5rem);color:var(--ty-ink);margin-bottom:.8rem;}
.ty-ab-text p{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--ty-mist);line-height:1.82;margin-bottom:.9rem;}
.ty-folio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:var(--ty-max);margin:0 auto;padding:0 2rem;}
.ty-legal-body{max-width:760px;margin:0 auto;padding:0 2rem;}
.ty-legal-body h2{font-family:var(--ty-fh);font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--ty-ink);margin:2rem 0 .6rem;}
.ty-legal-body h3{font-family:var(--ty-fh);font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--ty-ink);margin:1.5rem 0 .4rem;}
.ty-legal-body p{font-size:clamp(0.88rem,1.4vw,0.98rem);color:var(--ty-mist);line-height:1.82;margin-bottom:.9rem;}
.ty-legal-body ul{margin:.5rem 0 .9rem 1.2rem;list-style:disc;}
.ty-legal-body li{font-size:clamp(0.85rem,1.3vw,0.95rem);color:var(--ty-mist);line-height:1.75;margin-bottom:.3rem;}
.ty-status-pg{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center;}
.ty-status-in h1{font-family:var(--ty-fh);font-size:clamp(2rem,4vw,3.5rem);color:var(--ty-ink);margin-bottom:.8rem;}
.ty-status-in p{font-size:clamp(0.9rem,1.5vw,1.05rem);color:var(--ty-mist);max-width:52ch;margin:0 auto 1.5rem;line-height:1.78;}

/* ─ Responsive ─ */
@media(max-width:1060px){
  .ty-mosaic-grid{grid-template-columns:1fr;} .ty-mosaic-grid .ty-mc:first-child{grid-row:auto;}
  .ty-mosaic-grid .ty-mc:first-child .ty-mc-img{height:260px;}
  .ty-journey-grid{grid-template-columns:repeat(2,1fr);}
  .ty-build-grid{grid-template-columns:1fr 320px;}
  .ty-co-grid{grid-template-columns:1fr 340px;}
  .ty-srow{grid-template-columns:140px 1fr auto auto;}
}
@media(max-width:880px){
  .ty-atlas{grid-template-columns:1fr;} .ty-atlas-right{height:320px;} .ty-atlas-left::after{display:none;} .ty-atlas-left{padding:4rem 2rem;}
  .ty-nav,.ty-hdr-end{display:none;}
  .ty-mob-toggle{display:flex;}
  .ty-shelf-grid{grid-template-columns:1fr;} .ty-shelf-grid .ty-sc:first-child{grid-row:auto;} .ty-shelf-grid .ty-sc:first-child .ty-sc-nm{font-size:clamp(1.1rem,1.8vw,1.4rem);}
  .ty-praise-row{grid-template-columns:1fr;}
  .ty-srow{grid-template-columns:1fr;} .ty-srow-feats{display:none;}
  .ty-build-grid,.ty-co-grid{grid-template-columns:1fr;}
  .ty-svc-hero-in,.ty-svc-cols{grid-template-columns:1fr;} .ty-svc-img{display:none;} .ty-svc-aside{position:static;}
  .ty-ab-grid{grid-template-columns:1fr;} .ty-ab-img{display:none;}
  .ty-folio-grid{grid-template-columns:1fr;}
  .ty-spark-grid{grid-template-columns:1fr;}
  .ty-ground-top{grid-template-columns:1fr 1fr;}
  .ty-asks-cols{grid-template-columns:1fr;}
}
@media(max-width:540px){
  .ty-journey-grid{grid-template-columns:1fr;}
  .ty-row2{grid-template-columns:1fr;}
  .ty-ground-top{grid-template-columns:1fr;}
}
