:root{
  --cream:#f4efe6;--paper:#fbf8f2;--ink:#20211f;--muted:#6b675f;
  --terra:#c86b46;--terra-text:#a14f32;--terra-action:#a14f32;--terra-dark:#944b31;--focus-light:#944b31;--mustard:#c69a45;--sage:#74806c;--sage-dark:#55624f;
  --line:rgba(70,57,41,.14);--max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;color:var(--ink);background:linear-gradient(180deg,#fbf8f2,#f5efe6);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.4}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{font:inherit}
.shell{width:min(var(--max),calc(100% - 64px));margin:0 auto}
body>header{height:64px;border-bottom:1px solid rgba(70,57,41,.06);background:rgba(251,248,242,.94)}
.navbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand img{width:48px;height:45px;object-fit:contain}.brand-title{font-family:Georgia,"Times New Roman",serif;letter-spacing:.16em;font-size:1rem}.brand-sub{font-size:.54rem;letter-spacing:.13em;color:var(--sage-dark);margin-top:1px}
.main-nav{display:flex;align-items:center;gap:26px;font-size:.76rem}.main-nav>a:hover{color:var(--terra-text)}.nav-active{border-bottom:1.5px solid var(--terra);padding-bottom:7px}.linkedin{background:var(--terra-action);color:white;padding:8px 14px;border-radius:999px;font-weight:800}
.lang{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px}.lang a{padding:4px 7px;border-radius:999px;font-size:.63rem;font-weight:900}.lang .active{background:var(--ink);color:white}.menu{display:none;border:0;background:none;font-size:1.35rem}
main{position:relative}
.hero{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:16px;align-items:center;min-height:0}.hero-copy{padding-left:40px;align-self:center}.name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.6rem,5.7vw,7rem);font-weight:400;line-height:.80;letter-spacing:.04em;margin:0}.tags{font-size:1.15rem;letter-spacing:.055em;color:var(--sage-dark);margin:12px 0 12px}.tags span+span:before{content:"·";color:var(--mustard);margin:0 9px}.rule{width:26px;height:1.5px;background:var(--terra);margin:8px 0}.claim{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,1.45vw,1.85rem);line-height:1.08;margin:7px 0}.claim em{font-style:normal;color:var(--terra-text)}.desc{max-width:510px;font-size:.76rem;line-height:1.45;color:#45423d;margin:0}.cta{display:flex;gap:14px;margin:12px 0 10px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--terra);border-radius:8px;padding:9px 18px;font-size:.7rem;font-weight:800}.btn.primary{background:var(--terra-action);color:#fff}.loc{font-size:.66rem;color:#555149}
.hero-art{position:relative;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.hero-art>.portrait{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center bottom}.hero-note{position:absolute;right:3.2%;top:9%;width:16%;min-width:118px;max-width:190px;z-index:3}.scroll-cue{position:absolute;right:1.3%;bottom:10%;font-size:.62rem;letter-spacing:.14em;color:#56514a;writing-mode:vertical-rl;display:block}.scroll-cue b{display:none}.scroll-cue::after{content:"↓";position:absolute;left:50%;top:calc(100% + 9px);transform:translateX(-50%);writing-mode:horizontal-tb;color:var(--terra-text);font-size:1rem;letter-spacing:0}
.timeline{border:1px solid var(--line);border-radius:14px;background:rgba(251,248,242,.65);display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;min-height:0}.milestone{position:relative;display:grid;grid-template-columns:46px 1fr;gap:10px;align-content:center;padding:10px 16px}.milestone:not(:last-child):after{content:"→";position:absolute;right:-7px;top:40%;z-index:2;color:#96a087;font-size:1.15rem}.milestone img{width:42px;height:42px;object-fit:contain;align-self:start}.m-title{font-size:.72rem;font-weight:900;line-height:1.15;margin-bottom:3px}.m-text{font-size:.59rem;line-height:1.3;color:#5c5851;max-width:175px}
.lower{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,24fr) minmax(0,18fr);gap:16px;min-height:0}.work,.experience,.side{min-height:0}.section-head{height:47px;display:flex;justify-content:space-between;align-items:end;gap:16px}.eyebrow{font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--terra-text)}.section-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.55rem;line-height:1;margin:3px 0 0}.all{font-size:.59rem;font-weight:800;color:var(--terra-text);margin-bottom:7px}
.cards{height:calc(100% - 47px);display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.card{min-width:0;border:1px solid var(--line);border-radius:12px;background:rgba(251,248,242,.70);padding:12px;display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto 1fr auto;gap:7px 9px}.card img{width:50px;height:60px;object-fit:cover;border-radius:5px;grid-row:1/3}.card h3{font-size:.66rem;line-height:1.17;margin:0;min-height:31px}.card p{font-size:.54rem;line-height:1.34;color:#5e5952;margin:0}.card a{grid-column:1/3;align-self:end;color:var(--terra-text);font-size:.56rem;font-weight:800}
.experience{border-left:1px solid var(--line);padding-left:16px;display:flex;flex-direction:column}.experience>.eyebrow{height:24px;display:flex;align-items:center}.exp{flex:1;display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:4px 0}.exp:last-child{border-bottom:0}.exp img{width:84px;max-height:34px;object-fit:contain;object-position:left center}.who{font-family:Georgia,serif;color:#466686;font-weight:700;font-size:.73rem}.exp h4{font-size:.61rem;line-height:1.18;margin:0}.exp p{font-size:.51rem;line-height:1.25;color:#5b5750;margin:2px 0 0}
.side{display:grid;grid-template-rows:1fr .85fr;gap:10px}.side-box{border:1px solid var(--line);border-radius:12px;background:rgba(251,248,242,.65);padding:13px;overflow:hidden}.side-box h4{font-size:.69rem;letter-spacing:.05em;color:var(--sage-dark);margin:0 0 7px}.side-box p{font-size:.55rem;line-height:1.4;color:#5b5750;margin:0}.side-box a{display:block;margin-top:7px;font-size:.55rem;font-weight:800;color:var(--terra-text)}
.final-cta{border:1px solid var(--line);border-radius:13px;background:rgba(251,248,242,.65);display:grid;grid-template-columns:62px 1fr 130px;gap:14px;align-items:center;padding:0 16px;min-height:0}.orb{width:48px;height:48px;border:1px solid var(--terra);border-radius:50%;display:grid;place-items:center;color:var(--sage);font-size:1.05rem}.final-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:400;margin:0}.final-cta p{font-size:.54rem;color:#5d5952;margin:2px 0 0}
/* Large desktop: validated one-screen composition without clipping. */
@media (min-width:1440px) and (min-height:850px){
  .home-body{overflow-y:hidden}
  .home-body main.shell{height:calc(100vh - 64px);display:grid;grid-template-rows:330px 80px 316px 64px;row-gap:10px;align-content:space-between}
  .hero,.timeline,.lower,.final-cta{min-height:0}
  .hero{overflow:hidden}
  .hero-copy{padding-left:44px}
  .name{font-size:5.55rem}.tags{font-size:1.02rem;margin:9px 0 9px}.claim{font-size:1.42rem}.desc{font-size:.71rem;max-width:470px}.cta{margin:9px 0 7px}.loc{font-size:.61rem}
  .hero-art{height:100%;min-height:0;overflow:hidden}
  .hero-art>.portrait{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom}
  .hero-note{width:145px;right:2.8%;top:6%}.scroll-cue{right:.8%;bottom:7%}
  .timeline{height:80px}.milestone{grid-template-columns:40px 1fr;padding:8px 13px;gap:8px}.milestone img{width:36px;height:36px}.m-title{font-size:.67rem}.m-text{font-size:.54rem;line-height:1.25;max-width:160px}
  .lower{height:316px;padding-top:0;grid-template-columns:minmax(0,58fr) minmax(0,24fr) minmax(0,18fr);gap:14px}.section-head{height:44px}.section-title{font-size:1.42rem}.cards{height:272px;gap:9px}.card{padding:10px;grid-template-columns:46px 1fr;gap:6px 8px}.card img{width:46px;height:56px}.card h3{font-size:.62rem;min-height:29px}.card p{font-size:.51rem;line-height:1.3}.card a{font-size:.53rem}.experience{padding-left:14px}.experience>.eyebrow{height:22px}.exp{padding:3px 0;grid-template-columns:80px 1fr}.exp img{width:78px;max-height:30px}.exp h4{font-size:.57rem}.exp p{font-size:.47rem}.who{font-size:.68rem}.side{gap:8px}.side-box{padding:11px}.side-box h4{font-size:.64rem}.side-box p{font-size:.51rem}.side-box a{font-size:.52rem}
  .final-cta{height:64px;grid-template-columns:54px 1fr 120px;padding:0 14px}.orb{width:44px;height:44px}.final-cta h2{font-size:1.12rem}.final-cta p{font-size:.49rem}.final-cta .btn{padding:8px 12px;font-size:.65rem}
}
@media (min-width:1800px) and (min-height:1000px){
  .home-body main.shell{grid-template-rows:400px 96px 360px 70px;row-gap:12px}
  .name{font-size:6.35rem}.tags{font-size:1.12rem}.claim{font-size:1.58rem}.desc{font-size:.76rem}.hero-note{width:175px}
  .timeline{height:96px}.milestone{grid-template-columns:46px 1fr;padding:10px 16px;gap:10px}.milestone img{width:42px;height:42px}.m-title{font-size:.72rem}.m-text{font-size:.59rem;max-width:175px}
  .lower{height:360px;gap:16px}.section-head{height:48px}.section-title{font-size:1.58rem}.cards{height:312px;gap:11px}.card{padding:12px;grid-template-columns:50px 1fr}.card img{width:50px;height:60px}.card h3{font-size:.66rem}.card p{font-size:.54rem}.card a{font-size:.56rem}.experience>.eyebrow{height:24px}.exp{grid-template-columns:86px 1fr}.exp img{width:84px;max-height:34px}.exp h4{font-size:.61rem}.exp p{font-size:.51rem}.side-box{padding:13px}.side-box h4{font-size:.69rem}.side-box p{font-size:.55rem}.side-box a{font-size:.55rem}
}
/* Standard laptop/desktop: preserve proportions; allow a small scroll rather than crop. */
@media (min-width:1100px) and (max-width:1439px), (min-width:1100px) and (max-height:849px){
  .home-body{overflow:auto}.hero{height:430px}.timeline{min-height:100px;margin-top:6px}.lower{min-height:330px;margin-top:12px}.final-cta{min-height:72px;margin:10px 0 20px}.hero-copy{padding-left:26px}.name{font-size:5rem}.hero-note{width:145px}.scroll-cue{display:none}
}
/* Tablet */
@media (max-width:1099px){
  .shell{width:min(var(--max),calc(100% - 64px))}body>header{height:62px}.navbar{height:62px}.menu{display:block}.main-nav{display:none;position:absolute;z-index:40;top:62px;left:14px;right:14px;flex-direction:column;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 18px 40px rgba(40,30,20,.12)}.main-nav.open{display:flex}.linkedin{text-align:center}.hero{grid-template-columns:1fr 1fr;min-height:440px}.hero-copy{padding-left:10px}.name{font-size:4.6rem}.hero-note{width:125px;right:2%;top:6%}.scroll-cue{display:none}.timeline{grid-template-columns:repeat(2,1fr);margin-top:8px}.milestone{min-height:82px}.milestone:not(:last-child):after{display:none}.lower{grid-template-columns:1fr 1fr;margin-top:14px}.work{grid-column:1/3}.cards{height:auto;grid-template-columns:repeat(2,1fr)}.card{min-height:176px}.experience{border-left:0;padding-left:0;min-height:245px}.side{min-height:245px}.final-cta{min-height:78px;margin:12px 0 20px}
}
/* Mobile */
@media (max-width:720px){
  .shell{width:min(var(--max),calc(100% - 32px))}
  .brand-title{font-size:.82rem}.brand-sub{font-size:.47rem}.brand img{width:42px;height:40px}.hero{grid-template-columns:1fr;gap:8px;padding-top:28px}.hero-copy{padding:0 4px}.name{font-size:4rem}.tags{font-size:.95rem}.claim{font-size:1.38rem}.desc{font-size:.78rem}.hero-art{height:330px;justify-content:center}.hero-art>.portrait{height:330px}.hero-note{width:110px;right:3%;top:7%}.timeline{grid-template-columns:1fr}.milestone{min-height:76px;padding:10px 14px}.lower{display:block}.work,.experience,.side{margin-top:18px}.cards{grid-template-columns:1fr}.card{min-height:150px}.experience{min-height:240px}.side{display:grid;grid-template-columns:1fr;margin-bottom:12px}.section-head{height:auto;align-items:flex-end}.all{margin-bottom:3px}.final-cta{grid-template-columns:48px 1fr;min-height:110px;padding:12px}.final-cta .btn{grid-column:1/3}.final-cta h2{font-size:1.15rem}
}


/* v1.0 work — compact lower section, no stretched cards, actual EchoFather brand */
.card-copy{align-self:start}
.echo-inline{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center}
.echo-inline img{width:72px;height:auto;object-fit:contain}
.echo-inline p{margin:0}
.echo-inline a{margin-top:7px}
.milestone-echo{grid-template-columns:46px 1fr}
.milestone-echo img{width:40px;height:40px;object-fit:contain;align-self:center}

@media (min-width:1440px) and (min-height:850px){
  .home-body{overflow-y:hidden}
  .home-body main.shell{
    height:calc(100vh - 64px);
    display:grid;
    grid-template-rows: minmax(318px,1fr) 80px auto 64px;
    row-gap:10px;
    align-content:stretch;
  }
  .hero{overflow:hidden;min-height:318px}
  .hero-copy{padding-left:44px}
  .hero-art{min-height:0;overflow:hidden}
  .timeline{height:80px}

  .lower{
    height:auto;
    min-height:0;
    padding-top:0;
    grid-template-columns:minmax(0,58fr) minmax(0,24fr) minmax(0,18fr);
    gap:14px;
    align-items:start;
  }
  .section-head{height:42px}
  .section-title{font-size:1.42rem}
  .cards{
    height:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px;
    align-items:start;
  }
  .card{
    height:auto;
    min-height:154px;
    padding:10px;
    grid-template-columns:46px 1fr;
    grid-template-rows:auto auto auto;
    gap:6px 8px;
    align-content:start;
  }
  .card img{width:46px;height:56px}
  .card h3{font-size:.62rem;min-height:29px;margin:0}
  .card p{font-size:.51rem;line-height:1.30;margin:0}
  .card a{font-size:.53rem;align-self:start;margin-top:4px}

  .experience{
    padding-left:14px;
    display:block;
    height:auto;
  }
  .experience>.eyebrow{height:22px}
  .exp{
    height:60px;
    min-height:60px;
    display:grid;
    grid-template-columns:80px 1fr;
    padding:4px 0;
  }
  .exp img{width:78px;max-height:30px}
  .exp h4{font-size:.57rem}
  .exp p{font-size:.47rem}
  .who{font-size:.68rem}

  .side{
    height:auto;
    display:grid;
    grid-template-rows:auto auto;
    gap:8px;
    align-content:start;
  }
  .side-box{
    min-height:0;
    padding:10px 11px;
    overflow:visible;
  }
  .side-box h4{font-size:.64rem;margin-bottom:6px}
  .side-box p{font-size:.50rem;line-height:1.34}
  .side-box a{font-size:.51rem;margin-top:5px}
  .echo-inline{grid-template-columns:68px 1fr;gap:9px}
  .echo-inline img{width:64px}

  .final-cta{
    height:64px;
    min-height:64px;
    grid-template-columns:54px 1fr 120px;
    padding:0 14px;
  }
  .orb{width:44px;height:44px}
  .final-cta h2{font-size:1.12rem}
  .final-cta p{font-size:.49rem}
}

@media (min-width:1800px) and (min-height:1000px){
  .home-body main.shell{
    grid-template-rows:minmax(390px,1fr) 94px auto 70px;
    row-gap:12px;
  }
  .timeline{height:94px}
  .lower{gap:16px}
  .section-head{height:46px}
  .section-title{font-size:1.55rem}
  .cards{gap:10px}
  .card{min-height:172px;padding:12px;grid-template-columns:50px 1fr}
  .card img{width:50px;height:60px}
  .card h3{font-size:.66rem;min-height:31px}
  .card p{font-size:.54rem;line-height:1.34}
  .card a{font-size:.56rem;margin-top:5px}
  .experience>.eyebrow{height:24px}
  .exp{height:68px;min-height:68px;grid-template-columns:86px 1fr}
  .exp img{width:84px;max-height:34px}
  .exp h4{font-size:.61rem}.exp p{font-size:.51rem}.who{font-size:.73rem}
  .side-box{padding:12px}
  .side-box p{font-size:.54rem;line-height:1.38}
  .side-box a{font-size:.55rem}
  .echo-inline{grid-template-columns:80px 1fr;gap:10px}
  .echo-inline img{width:74px}
  .final-cta{height:70px;min-height:70px}
}

@media (max-width:1099px){
  .echo-inline{grid-template-columns:72px 1fr}
  .echo-inline img{width:66px}
  .milestone-echo{grid-template-columns:46px 1fr}
  .milestone-echo img{width:40px;height:40px}
}
@media (max-width:720px){
  .echo-inline{grid-template-columns:64px 1fr}
  .echo-inline img{width:58px}
}


/* v1.0 validation pass 2 — remove internal dead space across ALL viewport classes */
.cards{height:auto;align-items:start}
.card{height:auto;min-height:0;align-content:start}
.card a{align-self:start;margin-top:6px}
.experience{height:auto}
.exp{flex:none}
.side{height:auto;align-content:start}

@media (min-width:1440px) and (min-height:850px){
  .card{min-height:138px}
  .experience .exp{height:55px;min-height:55px}
  .side{grid-template-rows:auto auto}
  .side-box{min-height:74px}
  .echo-inline{grid-template-columns:58px 1fr;gap:8px}
  .echo-inline img{width:54px}
}

@media (min-width:1800px) and (min-height:1000px){
  .card{min-height:148px}
  .experience .exp{height:60px;min-height:60px}
  .side-box{min-height:82px}
  .echo-inline{grid-template-columns:62px 1fr;gap:9px}
  .echo-inline img{width:58px}
}

@media (min-width:1100px) and (max-width:1439px), (min-width:1100px) and (max-height:849px){
  .lower{min-height:0;height:auto;align-items:start}
  .cards{height:auto;align-items:start}
  .card{min-height:138px;height:auto;align-content:start}
  .card a{align-self:start;margin-top:6px}
  .experience{height:auto;display:block}
  .experience>.eyebrow{height:22px}
  .experience .exp{height:56px;min-height:56px;grid-template-columns:80px 1fr;padding:4px 0}
  .side{height:auto;grid-template-rows:auto auto;align-content:start}
  .side-box{min-height:80px;padding:10px 11px;overflow:visible}
  .echo-inline{grid-template-columns:56px 1fr;gap:8px}
  .echo-inline img{width:52px}
}

@media (max-width:1099px){
  .cards{height:auto}
  .card{min-height:125px;height:auto;align-content:start}
  .experience .exp{flex:none}
  .echo-inline{grid-template-columns:56px 1fr;gap:8px}
  .echo-inline img{width:52px}
}

@media (max-width:720px){
  .card{min-height:0;height:auto;padding-bottom:12px}
  .card a{margin-top:8px}
  .experience{min-height:0}
  .echo-inline{grid-template-columns:52px 1fr;gap:8px}
  .echo-inline img{width:48px}
}


/* v1.0 validation pass 3 — keep 1440/laptop proportions, strengthen lower block on large desktop */
@media (min-width:1800px) and (min-height:1000px){
  .section-head{height:48px}
  .section-title{font-size:1.72rem}
  .eyebrow{font-size:.62rem}
  .all{font-size:.62rem}
  .card{
    min-height:166px;
    padding:14px;
    grid-template-columns:58px 1fr;
    gap:7px 10px;
  }
  .card img{width:58px;height:68px}
  .card h3{font-size:.72rem;line-height:1.18;min-height:37px}
  .card p{font-size:.60rem;line-height:1.38}
  .card a{font-size:.60rem;margin-top:7px}
  .experience>.eyebrow{height:26px}
  .experience .exp{height:66px;min-height:66px;grid-template-columns:92px 1fr}
  .exp img{width:90px;max-height:36px}
  .exp h4{font-size:.65rem}.exp p{font-size:.55rem}.who{font-size:.76rem}
  .side-box{padding:13px 14px;min-height:86px}
  .side-box h4{font-size:.70rem}.side-box p{font-size:.58rem;line-height:1.40}.side-box a{font-size:.58rem}
  .echo-inline{grid-template-columns:66px 1fr;gap:10px}
  .echo-inline img{width:60px}
}


/* =========================================================
   v1.1 — Surface / high-DPI desktop fit
   Target: Surface 2736×1824 at 200% scaling ≈ 1368×912 CSS px,
   with browser chrome often leaving ~1368×768 usable viewport.
   Preserve the approved composition while eliminating vertical scroll
   at the 1368×768 desktop breakpoint.
   ========================================================= */

/* Slightly reduce Santalucía mark so no edge can clip in compact rows. */
.exp .logo-sl{
  width:76px;
  max-width:76px;
  max-height:28px;
  object-fit:contain;
  object-position:left center;
  margin-left:2px;
}

@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  .home-body{overflow-y:hidden}
  .home-body>header{height:58px}
  .navbar{height:58px}
  .brand img{width:44px;height:41px}
  .brand-title{font-size:.94rem}
  .brand-sub{font-size:.50rem}
  .main-nav{gap:22px;font-size:.72rem}
  .linkedin{padding:7px 13px}

  .home-body main.shell{
    height:calc(100vh - 58px);
    display:grid;
    grid-template-rows:330px 82px auto 60px;
    row-gap:8px;
    align-content:start;
  }

  .hero{
    height:330px;
    min-height:330px;
    grid-template-columns:46% 54%;
    overflow:hidden;
  }
  .hero-copy{padding-left:22px}
  .name{font-size:4.45rem;line-height:.79}
  .tags{font-size:.91rem;margin:7px 0 7px}
  .rule{margin:6px 0}
  .claim{font-size:1.23rem;margin:5px 0}
  .desc{font-size:.65rem;line-height:1.38;max-width:455px}
  .cta{margin:7px 0 6px;gap:11px}
  .btn{padding:7px 15px;font-size:.64rem}
  .loc{font-size:.58rem}
  .hero-art{height:330px;overflow:hidden}
  .hero-art>.portrait{height:330px;width:100%;object-fit:contain;object-position:center bottom}
  .hero-note{width:125px;right:2.5%;top:5%}
  .scroll-cue{display:none}

  .timeline{
    height:82px;
    min-height:82px;
    margin:0;
  }
  .milestone{grid-template-columns:36px 1fr;gap:7px;padding:7px 11px}
  .milestone img{width:33px;height:33px}
  .milestone-echo{grid-template-columns:44px 1fr}
  .milestone-echo img{width:40px;height:40px}
  .m-title{font-size:.64rem;margin-bottom:2px}
  .m-text{font-size:.50rem;line-height:1.22;max-width:150px}
  .milestone:not(:last-child):after{font-size:1rem;top:39%}

  .lower{
    min-height:0;
    height:auto;
    margin:0;
    grid-template-columns:minmax(0,58%) minmax(0,24%) minmax(0,18%);
    gap:12px;
    align-items:start;
  }
  .section-head{height:39px}
  .eyebrow{font-size:.54rem}
  .section-title{font-size:1.30rem;margin-top:2px}
  .all{font-size:.55rem;margin-bottom:5px}
  .cards{height:auto;gap:8px;align-items:start}
  .card{
    min-height:126px;
    padding:9px;
    grid-template-columns:42px 1fr;
    gap:5px 7px;
  }
  .card img{width:42px;height:51px}
  .card h3{font-size:.57rem;line-height:1.15;min-height:27px}
  .card p{font-size:.46rem;line-height:1.25}
  .card a{font-size:.49rem;margin-top:4px}

  .experience{padding-left:12px;height:auto}
  .experience>.eyebrow{height:20px}
  .experience .exp{
    height:50px;
    min-height:50px;
    grid-template-columns:72px 1fr;
    padding:3px 0;
  }
  .exp img{width:70px;max-height:27px}
  .exp .logo-sl{width:66px;max-width:66px;max-height:24px;margin-left:2px}
  .exp h4{font-size:.53rem}
  .exp p{font-size:.43rem;line-height:1.18}
  .who{font-size:.63rem}

  .side{height:auto;grid-template-rows:auto auto;gap:7px;align-content:start}
  .side-box{min-height:68px;padding:9px 10px}
  .side-box h4{font-size:.59rem;margin-bottom:5px}
  .side-box p{font-size:.46rem;line-height:1.28}
  .side-box a{font-size:.47rem;margin-top:4px}
  .echo-inline{grid-template-columns:48px 1fr;gap:7px}
  .echo-inline img{width:44px}

  .final-cta{
    height:60px;
    min-height:60px;
    margin:0;
    grid-template-columns:50px 1fr 112px;
    gap:11px;
    padding:0 12px;
  }
  .orb{width:40px;height:40px}
  .final-cta h2{font-size:1.02rem}
  .final-cta p{font-size:.45rem}
  .final-cta .btn{padding:7px 11px;font-size:.60rem}
}

/* =========================================================
   v1.2 review — Surface readability + Santalucía logo fit
   Requested: reduce Santalucía slightly and raise small copy ~1pt.
   ========================================================= */

/* Give Santalucía a little extra breathing room everywhere. */
.exp .logo-sl{
  width:70px;
  max-width:70px;
  max-height:25px;
  object-fit:contain;
  object-position:left center;
  margin-left:3px;
  margin-right:3px;
}

@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  /* Recover a few pixels for the readability bump without changing the visual structure. */
  .home-body main.shell{grid-template-rows:324px 80px auto 58px;row-gap:8px}
  .hero,.hero-art{height:324px;min-height:324px}
  .hero-art>.portrait{height:324px}
  .timeline{height:80px;min-height:80px}

  /* ~1 point increase across the small supporting text. */
  .desc{font-size:.70rem;line-height:1.38}
  .loc{font-size:.63rem}
  .m-title{font-size:.69rem}
  .m-text{font-size:.55rem;line-height:1.24;max-width:154px}

  .eyebrow{font-size:.59rem}
  .all{font-size:.60rem}
  .card h3{font-size:.64rem;line-height:1.16;min-height:30px}
  .card p{font-size:.54rem;line-height:1.28}
  .card a{font-size:.56rem}

  .experience .exp{height:51px;min-height:51px;grid-template-columns:68px 1fr}
  .exp img{width:66px;max-height:25px}
  .exp .logo-sl{width:60px;max-width:60px;max-height:22px;margin-left:3px;margin-right:4px}
  .exp h4{font-size:.59rem}
  .exp p{font-size:.50rem;line-height:1.20}
  .who{font-size:.68rem}

  .side-box h4{font-size:.64rem}
  .side-box p{font-size:.53rem;line-height:1.30}
  .side-box a{font-size:.54rem}
  .echo-inline{grid-template-columns:48px 1fr;gap:8px}

  .final-cta{height:58px;min-height:58px}
  .final-cta h2{font-size:1.06rem}
  .final-cta p{font-size:.50rem}
  .final-cta .btn{font-size:.63rem}
}


/* =========================================================
   v1.3 review — Timeline readability bump
   Requested: slightly larger copy in the middle timeline band,
   keeping Surface desktop without scroll.
   ========================================================= */

@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  .timeline{height:80px;min-height:80px}
  .milestone{grid-template-columns:35px 1fr;gap:6px;padding:7px 10px}
  .milestone img{width:31px;height:31px}
  .milestone-echo{grid-template-columns:42px 1fr}
  .milestone-echo img{width:38px;height:38px}
  .m-title{font-size:.72rem;line-height:1.10;margin-bottom:2px}
  .m-text{font-size:.57rem;line-height:1.22;max-width:158px}
  .milestone:not(:last-child):after{font-size:.95rem;top:39%}

  /* tiny compensations so the page still fits on Surface */
  .section-head{height:38px}
  .cards{gap:7px}
  .card{padding:8px 9px}
  .card h3{font-size:.63rem;min-height:28px}
  .card p{font-size:.53rem}

  .experience .exp{height:50px;min-height:50px}
  .exp .logo-sl{width:58px;max-width:58px;max-height:21px;margin-left:4px;margin-right:4px}
}

@media (min-width:1440px) and (max-width:1799px) and (min-height:850px){
  .m-title{font-size:.74rem;line-height:1.10}
  .m-text{font-size:.60rem;line-height:1.24;max-width:178px}
}


/* =========================================================
   v1.4 review — Experience column spacing polish
   Requested: reduce the dead space on the right side of the
   experience panel, improve logo placement, and keep the
   Surface-friendly one-screen fit.
   ========================================================= */

@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  /* Rebalance the three lower columns a touch: slightly narrower
     experience column, slightly wider side column, with tighter gap. */
  .lower{
    grid-template-columns:minmax(0,59%) minmax(0,22%) minmax(0,19%);
    gap:11px;
  }

  .experience{
    padding-left:10px;
  }

  .experience .exp{
    grid-template-columns:74px 1fr;
    gap:7px;
    height:50px;
    min-height:50px;
  }

  .exp img{
    width:72px;
    max-height:27px;
  }

  .exp .logo-sl{
    width:62px;
    max-width:62px;
    max-height:22px;
    margin-left:2px;
    margin-right:2px;
  }

  .exp h4{
    font-size:.58rem;
    line-height:1.16;
  }

  .exp p{
    font-size:.50rem;
    line-height:1.18;
  }

  .side-box{
    padding:10px 11px;
  }
}

@media (min-width:1440px) and (max-width:1799px) and (min-height:850px){
  .lower{
    grid-template-columns:minmax(0,58%) minmax(0,23%) minmax(0,19%);
  }

  .experience{
    padding-left:14px;
  }

  .experience .exp{
    grid-template-columns:88px 1fr;
    gap:8px;
  }

  .exp img{
    width:84px;
    max-height:32px;
  }

  .exp .logo-sl{
    width:68px;
    max-width:68px;
    max-height:24px;
  }
}


/* =========================================================
   v1.5 review — Timeline icon scale
   Requested: slightly larger icons so each milestone feels
   visually closer in weight to the text block.
   ========================================================= */

@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  .timeline{height:80px;min-height:80px}
  .milestone{grid-template-columns:39px 1fr;gap:7px;padding:7px 10px}
  .milestone img{width:35px;height:35px}
  .milestone-echo{grid-template-columns:49px 1fr}
  .milestone-echo img{width:44px;height:44px}
  .m-title{font-size:.72rem;line-height:1.10;margin-bottom:2px}
  .m-text{font-size:.57rem;line-height:1.22;max-width:156px}
}

@media (min-width:1440px) and (max-width:1799px) and (min-height:850px){
  .milestone{grid-template-columns:50px 1fr;gap:10px}
  .milestone img{width:46px;height:46px}
  .milestone-echo{grid-template-columns:58px 1fr}
  .milestone-echo img{width:52px;height:52px}
  .m-title{font-size:.74rem;line-height:1.10}
  .m-text{font-size:.60rem;line-height:1.24;max-width:176px}
}

@media (min-width:1800px) and (min-height:1000px){
  .milestone{grid-template-columns:54px 1fr;gap:11px}
  .milestone img{width:50px;height:50px}
  .milestone-echo{grid-template-columns:62px 1fr}
  .milestone-echo img{width:56px;height:56px}
}



/* =========================================================
   WORK — v2.0 (fusión v1.7 contenido + v6.6 navegación por tabs)
   Header y nav reutilizan exactamente las reglas de Home de más arriba.
   ========================================================= */

.work-context{border-bottom:1px solid var(--line);background:rgba(251,248,242,.7)}
.work-context .shell{display:flex;align-items:baseline;gap:10px;min-height:44px}
.work-context .eyebrow{margin:0}
.work-context strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:.92rem;color:var(--ink)}

.work-hero{padding:38px 0 26px;border-bottom:1px solid var(--line)}
.work-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,3.6vw,3.1rem);line-height:1.05;font-weight:400;margin:0 0 10px;max-width:720px}
.work-hero h1 em{font-style:normal;color:var(--terra-text)}
.work-hero p{font-size:.86rem;line-height:1.55;color:#4d4a44;max-width:640px;margin:0}

/* Tabs */
.work-nav{position:sticky;top:64px;z-index:35;background:rgba(248,244,236,.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tab{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;padding:13px 16px 12px;cursor:pointer;min-width:0}
.tab:last-child{border-right:0}
.tab:hover{background:rgba(200,107,70,.05)}
.tab[aria-selected="true"]{background:rgba(200,107,70,.07)}
.tab[aria-selected="true"]:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px;background:var(--terra)}
.tab{position:relative}
.tab .n{font-size:.58rem;font-weight:900;color:var(--terra-text);letter-spacing:.1em}
.tab strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:.92rem;line-height:1.15;margin:4px 0 2px;color:var(--ink)}
.tab span{display:block;font-size:.63rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Panels */
.workspace{padding:26px 0 10px}
.panel{--accent:var(--terra);border:1px solid var(--line);border-radius:15px;background:rgba(251,248,242,.55);overflow:hidden;margin-bottom:8px}
.panel.ai{--accent:var(--mustard)}
.panel.health{--accent:var(--sage)}
.panel.research{--accent:var(--sage-dark)}
.panel[hidden]{display:none}

.panel-top{display:grid;grid-template-columns:minmax(0,32%) minmax(0,68%);border-bottom:1px solid var(--line)}
.panel-identity{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.panel-no{font-size:.62rem;font-weight:900;letter-spacing:.12em;color:var(--accent)}
.panel h2{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1.08;font-weight:400;margin:0}
.panel-tags{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--sage-dark);text-transform:uppercase}
.panel-identity .visual{width:64px;height:64px;border:1px solid var(--line);border-radius:14px;background:rgba(251,248,242,.9);display:grid;place-items:center;margin-top:4px}
.panel-identity .visual img{width:46px;height:46px;object-fit:cover;border-radius:8px}

.panel-intro{padding:24px 26px}
.statement{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.34;margin:0 0 12px;max-width:640px}
.context-line{font-size:.78rem;line-height:1.55;color:#57534c;max-width:640px}
.context-line b{color:var(--ink)}

.detail-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.detail{padding:18px 22px;border-right:1px solid var(--line)}
.detail:last-child{border-right:0}
.detail .label{font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-text);margin-bottom:7px}
.detail p{font-size:.74rem;line-height:1.5;color:#4d4a44;margin:0}

.capabilities{padding:16px 22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.capabilities .label{font-size:.58rem;font-weight:900;letter-spacing:.1em;color:var(--sage-dark);text-transform:uppercase}
.tools{display:flex;gap:7px;flex-wrap:wrap}
.tool{font-size:.66rem;font-weight:700;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(251,248,242,.85);color:#4d4a44}

/* Deep dive accordion */
.deepdive{border-top:1px solid var(--line)}
.deepdive summary{list-style:none;cursor:pointer;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.68rem;font-weight:800;color:var(--terra-text);letter-spacing:.03em}
.deepdive summary::-webkit-details-marker{display:none}
.deepdive summary:after{content:"+";font-size:1rem;font-weight:400;color:var(--terra-text);transition:transform .15s ease}
.deepdive[open] summary:after{transform:rotate(45deg)}
.deepdive-body{padding:0 22px 22px}
.dd-block{margin-bottom:14px}
.dd-block .case-label{font-size:.57rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-text);margin-bottom:6px}
.dd-block p,.dd-block li{font-size:.74rem;line-height:1.55;color:#4d4a44;margin:0}
.dd-block ul{margin:0;padding-left:16px}
.dd-block li+li{margin-top:4px}
.dd-outcome{font-family:Georgia,"Times New Roman",serif;font-size:.98rem;line-height:1.4;color:var(--sage-dark)}
.dd-tools{font-size:.68rem;line-height:1.6;color:#57534c}
.dd-tools b{color:var(--ink)}

/* Teaser de desarrollo clínico anonimizado */
.dd-inprogress{margin-top:16px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:rgba(251,248,242,.6)}
.dd-inprogress .tag{display:inline-block;font-size:.56rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--sage-dark);padding:3px 9px;border-radius:999px;margin-bottom:8px}
.dd-inprogress p{font-size:.72rem;line-height:1.55;color:#4d4a44;margin:0}

/* Method */
.method{margin:22px 0 8px;border-top:1px solid var(--line);padding:26px 0 0}
.method-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:16px}
.method-kicker{font-size:.6rem;font-weight:900;letter-spacing:.12em;color:var(--terra-text);text-transform:uppercase;margin-bottom:5px}
.method h2{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;line-height:1.08;margin:0}
.method p{font-size:.78rem;color:var(--muted);max-width:520px;margin:0}
.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:14px 16px 15px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step b{font-size:.58rem;color:var(--terra-text);letter-spacing:.1em}
.step strong{display:block;font-size:.78rem;margin:4px 0 2px}
.step span{font-size:.65rem;color:var(--muted)}

.work-cta{margin:22px 0 0;border-top:1px solid var(--line);padding:26px 0 6px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.work-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:400;margin:0}
.work-cta p{font-size:.68rem;color:var(--muted);margin:5px 0 0}
.work-back{padding:16px 0 30px}
.work-back a{font-size:.62rem;font-weight:800;color:var(--terra-text)}

body.work-body main.shell{padding-bottom:0}

/* Tablet */
@media(max-width:1099px){
  .panel-top{grid-template-columns:1fr}
  .panel-identity{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;flex-wrap:wrap}
  .panel-identity .visual{margin-top:0;margin-left:auto}
  .detail-grid{grid-template-columns:1fr 1fr}
  .detail:nth-child(2){border-right:0}
  .detail:last-child{grid-column:1/3;border-top:1px solid var(--line)}
  .method-head{flex-direction:column;align-items:flex-start;gap:8px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .step:nth-child(3){border-right:0}
  .step:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .work-cta{flex-direction:column;align-items:flex-start}
}

/* Mobile */
@media(max-width:720px){
  .work-context strong{font-size:.8rem}
  .work-hero{padding:26px 0 20px}
  .work-hero h1{font-size:2rem}

  /* Tabs: horizontal scroll with a visible "more" affordance instead of a silent cut-off */
  .work-nav{top:0}
  .work-nav-inner{position:relative}
  .tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{min-width:72%;flex:0 0 auto;scroll-snap-align:start}
  .work-nav-inner:after{content:"→";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--terra-text);pointer-events:none}

  /* Panels: plain stacked blocks, no leftover grid rows that create dead space */
  .panel-identity{display:block}
  .panel-identity .visual{width:52px;height:52px;margin:10px 0 0}
  .panel-identity .visual img{width:36px;height:36px}
  .detail-grid{grid-template-columns:1fr}
  .detail{border-right:0;border-bottom:1px solid var(--line)}
  .detail:last-child{grid-column:auto;border-top:0;border-bottom:0}
  .capabilities{display:block}
  .capabilities .label{display:block;margin-bottom:8px}
  .steps{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:0}
  .work-cta{padding-bottom:4px}
}



/* =========================================================
   WORK — v2.1 consolidation
   Canonical refinements after fusion audit.
   ========================================================= */

/* Micro-context: slightly more legible without becoming a second hero. */
.work-context .shell{min-height:46px;gap:11px}
.work-context .eyebrow{font-size:.64rem;letter-spacing:.11em}
.work-context strong{font-size:1.04rem;line-height:1}

/* Keep the area navigator usable after the global header scrolls away. */
.work-nav{position:sticky;top:0;z-index:35}

/* The repeated method is intentionally compact; supporting copy is more readable. */
.method{margin:16px 0 6px;padding:18px 0 0}
.method-head{gap:26px;margin-bottom:11px;align-items:center}
.method-kicker{font-size:.59rem;margin-bottom:4px}
.method h2{font-size:1.42rem;line-height:1.04}
.method p{font-size:.91rem;line-height:1.42;max-width:650px}
.step{padding:11px 14px 12px}
.step strong{font-size:.77rem;margin:3px 0 2px}
.step span{font-size:.66rem;line-height:1.28}

/* This accordion expands area evidence; "case" is reserved for future shareable Deep Dives. */
.deepdive summary{font-size:.70rem;padding:13px 22px}

@media(max-width:1099px){
  .method{margin:15px 0 6px;padding-top:16px}
  .method-head{gap:7px}
  .method p{font-size:.88rem;line-height:1.4}
}

@media(max-width:720px){
  .work-context .shell{min-height:42px}
  .work-context .eyebrow{font-size:.61rem}
  .work-context strong{font-size:.96rem}
  .method{margin:14px 0 4px;padding-top:15px}
  .method h2{font-size:1.30rem}
  .method p{font-size:.87rem;line-height:1.4}
  .step{padding:10px 14px 11px}
}


/* =========================================================
   WORK — v2.1 final shell refinement after visual QA
   The Work hub now starts with navigation, not a repeated hero.
   ========================================================= */

.workspace{padding:16px 0 4px}

/* Equal work-area cells are visually centered on desktop/tablet. */
.tab{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:74px;
  padding:11px 14px 10px;
}
.tab[aria-selected="true"]:after{left:18px;right:18px}

/* Active area: denser without losing readability. */
.panel-identity{padding:20px}
.panel-intro{padding:20px 22px}
.statement{font-size:1.23rem;line-height:1.32;margin-bottom:10px}
.detail{padding:15px 18px}
.capabilities{padding:12px 18px}
.deepdive summary{padding:11px 18px}
.deepdive-body{padding:0 18px 18px}

/* Repeated method: one compact closing band for the area. */
.method{margin:12px 0 18px;padding:14px 0 0}
.method-head{gap:24px;margin-bottom:9px}
.method h2{font-size:1.34rem}
.method p{font-size:.90rem;line-height:1.38;max-width:690px}
.step{padding:9px 13px 10px}
.step strong{margin:2px 0 1px}

@media(max-width:1099px){
  .workspace{padding-top:14px}
  .panel-identity{padding:18px}
  .panel-intro{padding:18px 20px}
  .detail{padding:14px 16px}
  .method{margin:12px 0 18px;padding-top:13px}
}

@media(max-width:720px){
  .workspace{padding-top:12px}
  .tab{
    min-width:78%;
    min-height:76px;
    align-items:flex-start;
    text-align:left;
    padding:10px 16px 9px;
  }
  .work-nav-inner:after{
    right:0;
    width:42px;
    height:100%;
    border:0;
    border-radius:0;
    background:linear-gradient(90deg,rgba(251,248,242,0),rgba(251,248,242,.96) 48%);
    color:var(--terra-text);
  }
  .panel-identity{padding:17px}
  .panel-intro{padding:17px 18px}
  .statement{font-size:1.16rem}
  .detail{padding:13px 15px}
  .capabilities{padding:11px 15px}
  .deepdive summary{padding:11px 15px}
  .deepdive-body{padding:0 15px 15px}
  .method{margin:11px 0 18px;padding-top:12px}
}


/* Mobile Work navigation affordance: communicate horizontal navigation without covering tab text. */
@media(max-width:720px){
  .work-context .shell strong{margin-right:auto}

  .work-nav-inner:after{display:none}
}

/* Tablet/mobile method alignment must remain left-aligned after the final global method override. */
@media(max-width:1099px){
  .method-head{align-items:flex-start}
}


/* =========================================================
   WORK · DEEP DIVE 01 INTEGRATION
   Category capabilities stay general; evidence/technology is scoped per project.
   ========================================================= */
.dd-projects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.dd-project{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(251,248,242,.72)}
.dd-project.featured{border-color:rgba(116,128,108,.42);box-shadow:inset 3px 0 0 var(--sage)}
.dd-project-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.dd-project .tag{display:inline-block;font-size:.55rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--sage-dark);padding:3px 8px;border-radius:999px}
.dd-project .muted-tag{background:#746f66}
.dd-project .state{font-size:.58rem;font-weight:800;color:var(--muted)}
.dd-project h4{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.15;font-weight:400;margin:0 0 7px;color:var(--ink)}
.dd-project p{font-size:.72rem;line-height:1.52;color:#4d4a44;margin:0}
.dd-project-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.dd-project-tools span{font-size:.58rem;font-weight:700;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:#57534c;background:rgba(255,255,255,.5)}
.dd-project-link{display:inline-flex;margin-top:12px;font-size:.66rem;font-weight:900;color:var(--terra-text);letter-spacing:.02em}
.dd-project-link:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.dd-projects{grid-template-columns:1fr}.dd-project{padding:14px}.dd-project h4{font-size:1.02rem}.dd-project p{font-size:.75rem}}


/* =========================================================
   WORK · v2.3 FEATURED CASE DISCOVERY
   The published Deep Dive is visible without opening the area accordion.
   ========================================================= */
.featured-case-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:8px 18px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(116,128,108,.085),rgba(251,248,242,.25))}
.featured-case-tag{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:999px;background:var(--sage-dark);color:#fff;font-size:.57rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.featured-case-copy{min-width:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.featured-case-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:.92rem;font-weight:400;color:var(--ink)}
.featured-case-copy span{font-size:.61rem;font-weight:750;color:var(--muted)}
.featured-case-strip>a{font-size:.69rem;font-weight:900;color:#914426;white-space:nowrap}
.featured-case-strip>a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1099px){.featured-case-strip{grid-template-columns:auto minmax(0,1fr);padding:10px 16px}.featured-case-strip>a{grid-column:2;justify-self:start}}
@media(max-width:720px){.featured-case-strip{grid-template-columns:1fr;gap:7px;padding:12px 15px}.featured-case-tag{justify-self:start}.featured-case-copy{display:block}.featured-case-copy strong{display:block;font-size:1rem}.featured-case-copy span{display:block;margin-top:3px;font-size:.68rem}.featured-case-strip>a{grid-column:auto;font-size:.72rem}}

/* =========================================================
   v2.4 · REQUESTED UI POLISH
   1) Give the Home featured-project cards a little more breathing room.
   2) Make HealthTech discovery actions unmistakably interactive.
   Scope is intentionally surgical: CSS only.
   ========================================================= */
.home-body .work .cards{
  padding-top:8px;
}

.featured-case-strip>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border:1px solid #914426;
  border-radius:999px;
  background:#914426;
  color:#fff;
  text-decoration:none;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.featured-case-strip>a:hover{
  background:#7d391f;
  border-color:#7d391f;
  text-decoration:none;
  transform:translateY(-1px);
}
.featured-case-strip>a:focus-visible,
.deepdive summary:focus-visible,
.dd-project-link:focus-visible{
  outline:2px solid var(--mustard);
  outline-offset:3px;
}

/* Keep the accordion semantics, but present its trigger as a compact control
   instead of a line of text with a distant plus sign. */
.deepdive summary{
  width:max-content;
  max-width:calc(100% - 36px);
  min-height:36px;
  margin:10px 18px;
  padding:6px 7px 6px 12px;
  justify-content:flex-start;
  gap:10px;
  border:1px solid rgba(145,68,38,.34);
  border-radius:999px;
  background:rgba(145,68,38,.055);
  color:#914426;
  line-height:1.2;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.deepdive summary:hover{
  background:rgba(145,68,38,.10);
  border-color:rgba(145,68,38,.58);
  transform:translateY(-1px);
}
.deepdive summary:after{
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(145,68,38,.42);
  border-radius:50%;
  background:rgba(251,248,242,.82);
  color:#914426;
  font-size:.86rem;
  line-height:1;
}

/* The same project CTA inside the expanded detail should read as an action too. */
.dd-project-link{
  min-height:32px;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border:1px solid rgba(145,68,38,.42);
  border-radius:999px;
  background:rgba(145,68,38,.055);
  color:#914426;
  text-decoration:none;
}
.dd-project-link:hover{
  background:rgba(145,68,38,.10);
  border-color:rgba(145,68,38,.62);
  text-decoration:none;
}

@media(max-width:1099px){
  .featured-case-strip>a{min-height:36px;padding:8px 13px}
}
@media(max-width:720px){
  .home-body .work .cards{padding-top:9px}
  .deepdive summary{max-width:calc(100% - 30px);margin:10px 15px}
  .featured-case-strip>a{justify-self:start}
}


/* Writing library · LinkedIn article cards */
@media (min-width:1440px) and (min-height:850px){
  .home-body{overflow-y:auto}
}
.writing-library{margin-top:34px;padding:42px 0 66px;border-top:1px solid var(--line)}
.writing-library-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.58fr);gap:56px;align-items:end;margin-bottom:24px}
.writing-library-head .section-title{font-size:clamp(2rem,3vw,3.5rem);margin-top:6px}
.writing-library-head>p{font-size:.78rem;line-height:1.65;color:var(--muted);margin:0 0 4px}
.writing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.writing-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:rgba(251,248,242,.72);padding:18px;display:flex;flex-direction:column;min-height:218px}
.writing-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.writing-number{font-size:.58rem;font-weight:900;letter-spacing:.09em;color:var(--terra-text)}
.writing-language{font-size:.52rem;font-weight:800;letter-spacing:.04em;color:var(--sage-dark);text-align:right}
.writing-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.08;font-weight:400;letter-spacing:-.02em;margin:0 0 12px}
.writing-card p{font-size:.68rem;line-height:1.58;color:#5b5750;margin:0 0 18px}
.writing-card a{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:.62rem;font-weight:800;color:var(--terra-text)}
.writing-card a:hover{text-decoration:underline}
@media (max-width:1099px){
  .writing-library{margin-top:26px;padding:36px 0 54px}
  .writing-library-head{grid-template-columns:1fr;gap:10px;margin-bottom:20px}
  .writing-library-head>p{max-width:680px}
  .writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .writing-library{margin-top:18px;padding:30px 0 44px}
  .writing-library-head .section-title{font-size:2rem}
  .writing-grid{grid-template-columns:1fr}
  .writing-card{min-height:0;padding:16px}
  .writing-card h3{font-size:1.22rem}
  .writing-card p{font-size:.72rem}
}

/* Writing library · restore vertical scroll on common laptop viewports */
@media (min-width:1200px) and (max-width:1439px) and (min-height:740px) and (max-height:849px){
  .home-body{overflow-y:auto}
}

/* ── Contacto: dos acciones (email primario + LinkedIn secundario), sin tocar proporciones ── */
.cta-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.final-cta{grid-template-columns:62px 1fr auto}
@media (max-width:720px){
  .final-cta{grid-template-columns:48px 1fr}
  .cta-actions{grid-column:1/-1;justify-content:flex-start;margin-top:6px}
  .cta-actions .btn{flex:1 1 auto;justify-content:center}
}

/* ── Páginas dedicadas: Artículos y Contacto ── */
.subpage-body{background:linear-gradient(180deg,#fbf8f2,#f5efe6);min-height:100vh}
.articles-page-main{padding:46px 0 76px}
.articles-page-main .writing-library-head{margin-bottom:26px}
.contact-page-main{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 64px);padding:48px 0 72px}
.contact-page-main .eyebrow{margin-bottom:8px}
.contact-page-main h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2rem,3vw,2.8rem);line-height:1.06;margin:0 0 16px;letter-spacing:-.01em}
.contact-page-main p{max-width:640px;color:#5d5952;font-size:.92rem;line-height:1.65;margin:0}
.contact-page-main .cta-actions{justify-content:flex-start;margin-top:30px}
@media (max-width:720px){.contact-page-main{padding:52px 0 72px}.articles-page-main{padding:32px 0 56px}}
/* Home ahora es exactamente una pantalla — el indicador SCROLL ya no aplica */
.home-body .scroll-cue{display:none}


/* =========================================================
   WORK v2.0 · cases + capabilities + applied experience
   Scoped additions for /es/work/ and /en/work/ only.
   ========================================================= */
.work-v2-main-shell{padding-bottom:0}
.work-v2-hero{background:linear-gradient(180deg,rgba(251,248,242,.55),rgba(244,239,230,0))}
.work-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);gap:70px;align-items:end}
.work-v2-kicker,.work-v2-section-head span{font-size:.61rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--terra-text)}
.work-v2-hero-grid>p{font-size:.92rem;line-height:1.68;color:var(--muted);margin:0 0 2px}
.work-v2-featured{padding:34px 0 30px;border-bottom:1px solid var(--line)}
.work-v2-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.68fr);gap:64px;align-items:end;margin-bottom:22px}
.work-v2-section-head h2,.work-v2-areas-grid h2,.work-v2-product h2,.work-v2-method h2,.work-v2-exit h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;color:var(--ink)}
.work-v2-section-head h2{font-size:1.72rem;margin:6px 0 0}
.work-v2-section-head>p{font-size:.82rem;line-height:1.6;color:var(--muted);margin:0}
.work-v2-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.work-v2-case{position:relative;padding:22px;border:1px solid var(--line);border-radius:15px;background:rgba(251,248,242,.72);box-shadow:inset 3px 0 0 var(--sage)}
.work-v2-case-no{position:absolute;right:18px;top:17px;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;color:#c9c1b5}
.work-v2-case-meta{font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--sage-dark);padding-right:44px}
.work-v2-case h3{font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;font-weight:400;line-height:1.1;margin:10px 0 9px;color:var(--ink)}
.work-v2-case p{font-size:.79rem;line-height:1.6;color:#4d4a44;margin:0;max-width:650px}
.work-v2-case-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}
.work-v2-case-foot span{font-size:.61rem;font-weight:750;color:var(--muted)}
.work-v2-case-foot a{font-size:.69rem;font-weight:900;color:#914426;white-space:nowrap}
.work-v2-case-foot a:hover{text-decoration:underline;text-underline-offset:3px}
.work-v2-areas-intro{padding:26px 0 0}
.work-v2-areas-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:64px;align-items:end;margin-top:5px}
.work-v2-areas-grid h2{font-size:1.48rem;margin:0}
.work-v2-areas-grid p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:0}
.work-v2-product{margin:22px 0 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-v2-product-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:60px;align-items:start;margin-top:7px}
.work-v2-product h2{font-size:1.58rem;margin:0}.work-v2-product h2 em{font-style:normal;color:var(--terra-text)}
.work-v2-product p{font-size:.82rem;line-height:1.62;color:#4d4a44;margin:0}
.work-v2-exp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;overflow:hidden;background:rgba(251,248,242,.55)}
.work-v2-exp-grid article{padding:20px 21px;min-width:0;border-right:1px solid var(--line)}
.work-v2-exp-grid article:last-child{border-right:0}.work-v2-exp-grid article.volunteer{box-shadow:inset 0 3px 0 var(--mustard)}
.work-v2-exp-grid article>span{display:block;font-size:.55rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:8px}
.work-v2-exp-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:1.17rem;font-weight:400;margin:0 0 4px;color:var(--ink)}
.work-v2-exp-grid strong{display:block;font-size:.67rem;line-height:1.35;color:var(--terra-text);margin-bottom:10px}
.work-v2-exp-grid p{font-size:.75rem;line-height:1.55;color:#4d4a44;margin:0}
.work-v2-method{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:60px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}
.work-v2-method h2{font-size:1.48rem;margin:6px 0 0}.work-v2-method p{font-size:.8rem;line-height:1.58;color:var(--muted);margin:0 0 10px}
.work-v2-method a{font-size:.69rem;font-weight:900;color:#914426}.work-v2-method-cta{margin-top:2px;color:#914426}.work-v2-method-cta:hover{background:var(--terra-action);color:#fff}
.work-v2-exit{display:flex;justify-content:space-between;align-items:center;gap:46px;padding:30px 0 34px}
.work-v2-exit h2{font-size:1.55rem;margin:6px 0 6px}.work-v2-exit p{font-size:.78rem;line-height:1.55;color:var(--muted);margin:0;max-width:700px}
.work-v2-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}

@media(max-width:1099px){
  .work-v2-hero-grid,.work-v2-section-head,.work-v2-areas-grid,.work-v2-product-grid,.work-v2-method{grid-template-columns:1fr;gap:10px}
  .work-v2-hero-grid>p{max-width:760px}
  .work-v2-section-head{align-items:start}.work-v2-section-head>p{max-width:760px}
  .work-v2-exp-grid{grid-template-columns:1fr 1fr}.work-v2-exp-grid article:nth-child(2){border-right:0}.work-v2-exp-grid article:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
  .work-v2-exit{align-items:flex-start}
}
@media(max-width:720px){
  .work-v2-featured{padding:26px 0 24px}.work-v2-case-grid{grid-template-columns:1fr}
  .work-v2-case{padding:18px}.work-v2-case-foot{display:block}.work-v2-case-foot a{display:inline-block;margin-top:9px}
  .work-v2-areas-intro{padding-top:21px}.work-v2-product{padding:21px 0}
  .work-v2-exp-grid{grid-template-columns:1fr}.work-v2-exp-grid article{border-right:0;border-bottom:1px solid var(--line)}.work-v2-exp-grid article:last-child{grid-column:auto;border-bottom:0;border-top:0}
  .work-v2-method{padding:24px 0}.work-v2-exit{display:block;padding:25px 0 30px}.work-v2-actions{margin-top:15px}
}

/* Work v2 · Professional experience disclosure */
.work-v2-professional{padding:26px 0;border-bottom:1px solid var(--line)}
.work-v2-professional-details{border:1px solid var(--line);border-radius:16px;background:rgba(251,248,242,.58);overflow:hidden}
.work-v2-professional-details>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 24px;cursor:pointer}
.work-v2-professional-details>summary::-webkit-details-marker{display:none}
.work-v2-professional-summary-copy{min-width:0}
.work-v2-professional-summary-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:1.42rem;font-weight:400;line-height:1.08;color:var(--ink);margin:6px 0 6px}
.work-v2-professional-summary-copy p{max-width:860px;font-size:.78rem;line-height:1.55;color:var(--muted);margin:0}
.work-v2-professional-action{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:.69rem;font-weight:900;color:#914426}
.work-v2-professional-action i{font-style:normal;font-size:.9rem;transform-origin:center}
.work-v2-professional-details[open] .work-v2-professional-action i{transform:rotate(180deg)}
.work-v2-professional-body{padding:0 24px 24px;border-top:1px solid var(--line)}
.work-v2-professional-body .work-v2-exp-grid{margin-top:20px}
.work-v2-professional-details>summary:hover .work-v2-professional-action{background:var(--terra-action);color:#fff;text-decoration:none}
.work-v2-professional-details>summary:focus-visible{outline:3px solid var(--terra-dark);outline-offset:-3px}
@media(max-width:720px){
  .work-v2-professional{padding:22px 0}
  .work-v2-professional-details>summary{grid-template-columns:1fr;gap:14px;padding:19px 18px}
  .work-v2-professional-action{justify-self:start}
  .work-v2-professional-body{padding:0 18px 18px}
}
@media(prefers-reduced-motion:reduce){
  .work-v2-professional-action i{transition:none!important}
}



/* RC1.4 · CTA consistency + global accessibility alignment */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus-light);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  a,button{transition:none!important;animation:none!important;transform:none!important}
  .work-v2-professional-action i{transition:none!important}
}

/* Contact v2 · brand-led closing surface */
.contact-v2-body{min-height:100vh}
.contact-v2-main{padding:34px 0 44px}
.contact-v2-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:42px;align-items:stretch;min-height:calc(100vh - 142px)}
.contact-v2-copy{display:flex;flex-direction:column;justify-content:center;padding:36px 8px 36px 0}
.contact-v2-brand-lockup{display:flex;align-items:center;gap:14px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.contact-v2-brand-lockup img{width:78px;height:62px;object-fit:contain;flex:0 0 auto}
.contact-v2-brand-lockup div{display:flex;flex-direction:column;gap:3px}
.contact-v2-brand-lockup strong{font-size:.92rem;letter-spacing:.12em;color:var(--ink)}
.contact-v2-brand-lockup span{font-size:.58rem;font-weight:800;letter-spacing:.11em;color:var(--sage-dark)}
.contact-v2-copy .eyebrow{margin-bottom:10px}
.contact-v2-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(3.35rem,5.6vw,6.2rem);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;color:var(--ink)}
.contact-v2-lead{max-width:690px;font-size:1rem;line-height:1.72;color:#4f4c46;margin:0}
.contact-v2-note{max-width:690px;font-size:.82rem;line-height:1.62;color:var(--muted);margin:16px 0 0}
.contact-v2-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.contact-v2-topics span{display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(251,248,242,.72);font-size:.62rem;font-weight:800;letter-spacing:.02em;color:var(--sage-dark)}
.contact-v2-actions{justify-content:flex-start;margin-top:28px}
.contact-v2-portrait{position:relative;margin:0;min-height:520px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:0 18px 46px rgba(59,49,37,.08)}
.contact-v2-portrait img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center center}
.contact-v2-portrait figcaption{position:absolute;left:18px;bottom:16px;display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(244,239,230,.92);backdrop-filter:blur(8px);font-size:.58rem;font-weight:800;letter-spacing:.06em;color:var(--sage-dark);border:1px solid rgba(216,209,197,.85)}

@media(max-width:1099px){
  .contact-v2-main{padding:30px 0 52px}
  .contact-v2-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:28px;min-height:auto}
  .contact-v2-copy{padding:30px 0}
  .contact-v2-brand-lockup{padding-bottom:22px;margin-bottom:24px}
  .contact-v2-brand-lockup img{width:68px;height:54px}
  .contact-v2-portrait,.contact-v2-portrait img{min-height:470px}
}
@media(max-width:760px){
  .contact-v2-main{padding:24px 0 42px}
  .contact-v2-hero{grid-template-columns:1fr;gap:24px}
  .contact-v2-copy{padding:14px 0 0}
  .contact-v2-brand-lockup{gap:12px;padding-bottom:18px;margin-bottom:20px}
  .contact-v2-brand-lockup img{width:62px;height:50px}
  .contact-v2-brand-lockup strong{font-size:.82rem}.contact-v2-brand-lockup span{font-size:.53rem}
  .contact-v2-copy h1{font-size:clamp(3rem,16vw,4.5rem);margin-bottom:18px}
  .contact-v2-lead{font-size:.92rem;line-height:1.65}
  .contact-v2-note{font-size:.77rem}
  .contact-v2-actions{margin-top:24px}
  .contact-v2-actions .btn{flex:1 1 auto;min-height:42px}
  .contact-v2-portrait{order:2;min-height:0;aspect-ratio:630/425;border-radius:16px}
  .contact-v2-portrait img{min-height:0;height:100%;object-fit:cover}
  .contact-v2-portrait figcaption{left:12px;bottom:12px}
}
@media(max-width:420px){
  .contact-v2-brand-lockup img{width:56px;height:46px}
  .contact-v2-topics{gap:6px}.contact-v2-topics span{font-size:.58rem;padding:5px 8px}
  .contact-v2-actions{display:grid;grid-template-columns:1fr;gap:8px}
}


/* Articles v2 · LinkedIn embeds */
.articles-v2-main{padding:48px 0 78px}
.articles-v2-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.68fr);gap:68px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:28px}
.articles-v2-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,4.3vw,5rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:7px 0 0;color:var(--ink)}
.articles-v2-hero>p{font-size:.9rem;line-height:1.7;color:var(--muted);margin:0 0 5px}
.linkedin-embed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.linkedin-embed-card{min-width:0;border:1px solid var(--line);border-radius:18px;background:rgba(251,248,242,.78);padding:14px;overflow:hidden}
.linkedin-embed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px 11px}
.linkedin-embed-head>span{font-size:.6rem;font-weight:900;letter-spacing:.1em;color:var(--terra-text)}
.linkedin-embed-head>small{font-size:.55rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sage-dark)}
.linkedin-embed-frame{position:relative;width:100%;overflow:hidden;border-radius:12px;background:var(--paper);min-height:566px}
.linkedin-embed-frame iframe{display:block;width:100%;height:566px;border:0;background:white}
.linkedin-embed-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 4px 2px}
.linkedin-embed-foot strong{font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:400;line-height:1.15;color:var(--ink)}
.linkedin-embed-foot a{font-size:.66rem;font-weight:900;color:var(--terra-text);white-space:nowrap}
.linkedin-embed-foot a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1099px){
  .articles-v2-main{padding:40px 0 64px}
  .articles-v2-hero{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
  .articles-v2-hero>p{max-width:760px}
  .linkedin-embed-grid{gap:16px}
}
@media(max-width:820px){
  .linkedin-embed-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}
}
@media(max-width:520px){
  .articles-v2-main{padding:30px 0 52px}
  .articles-v2-hero h1{font-size:2.45rem}
  .linkedin-embed-card{padding:10px;border-radius:14px}
  .linkedin-embed-frame{min-height:566px;border-radius:10px}
  .linkedin-embed-foot{grid-template-columns:1fr;gap:8px;padding-top:11px}
  .linkedin-embed-foot a{justify-self:start}
}

/* =========================================================
   HF WEB v2.6.14 — Work/About visual refinements
   ========================================================= */

/* Language switcher: prevent clipping in header and deep-dive pages. */
.lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;overflow:visible;white-space:nowrap;flex:0 0 auto}
.lang a,
.lang .active,
.lang span.active{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
}
.lang a{color:inherit}
.lang .active,
.lang span.active{background:var(--ink);color:#fff}

/* Featured Deep Dive links should read as actions, not text links. */
.work-v2-case-foot{align-items:center}
.work-v2-case-foot a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--terra);
  border-radius:8px;
  background:rgba(200,107,70,.06);
  color:var(--terra-dark);
  font-size:.68rem;
  font-weight:900;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.work-v2-case-foot a:hover,
.work-v2-case-foot a:focus-visible{
  background:var(--terra-action);
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}

/* About · method statement: remove stray decorative quote and improve supporting text legibility. */
.method-statement{position:relative;overflow:hidden}
.method-statement::before,
.method-statement::after{content:none !important;display:none !important}
.method-statement p{
  font-size:1rem;
  line-height:1.55;
  color:rgba(251,248,242,.84);
}

/* About · EchoFather bridge CTA: real button with brand presence. */
.echo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.echo-copy p{margin:0}
.echo-cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 16px;
  border:1px solid rgba(148,75,49,.28);
  border-radius:12px;
  background:rgba(251,248,242,.78);
  color:var(--ink);
  font-size:.86rem;
  font-weight:850;
  line-height:1;
  box-shadow:0 8px 24px rgba(30,24,18,.05);
}
.echo-cta img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.echo-cta:hover,
.echo-cta:focus-visible{
  background:var(--terra-action);
  border-color:var(--terra-text);
  color:#fff;
}

@media (max-width:1099px){
  .work-v2-case-foot a{min-height:36px;padding:8px 12px}
  .lang a,.lang .active,.lang span.active{min-width:36px;padding:6px 9px}
}

@media (max-width:720px){
  .work-v2-case-foot{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .work-v2-case-foot a{width:auto}
  .method-statement p{font-size:.92rem;line-height:1.5}
  .echo-copy{gap:14px}
  .echo-cta{padding:10px 14px;font-size:.82rem}
  .echo-cta img{width:30px;height:30px}
  .lang a,.lang .active,.lang span.active{min-width:34px;padding:5px 8px;font-size:.66rem}
}

/* =========================================================
   HF WEB v2.6.15 — visual harmonization pass
   Shared typography + rhythm for Home / Work / Articles / Contact
   ========================================================= */
:root{
  --hf-body:1rem;
  --hf-body-small:.9rem;
  --hf-label:.68rem;
  --hf-section-title:clamp(2.15rem,3vw,3.35rem);
  --hf-page-title:clamp(3.2rem,4.8vw,5.15rem);
  --hf-section-space:64px;
}

/* Global readability floor */
.work-body,.contact-v2-body{font-size:16px}

/* Work — bring type up to the same editorial family as About/DDs */
.work-v2-hero{padding:58px 0 50px}
.work-v2-hero .work-v2-hero-grid h1{
  font-size:var(--hf-page-title);
  line-height:.99;
  letter-spacing:-.035em;
  max-width:900px;
}
.work-v2-hero-grid>p{font-size:1rem;line-height:1.68;max-width:690px}
.work-v2-kicker,.work-v2-section-head span{font-size:var(--hf-label)}
.work-v2-featured{padding:44px 0 42px}
.work-v2-section-head{margin-bottom:26px}
.work-v2-section-head h2{font-size:clamp(2rem,2.65vw,2.8rem);line-height:1.05}
.work-v2-section-head>p{font-size:.95rem;line-height:1.65}
.work-v2-case{padding:24px}
.work-v2-case h3{font-size:1.55rem;line-height:1.08}
.work-v2-case p{font-size:.9rem;line-height:1.62}
.work-v2-case-meta,.work-v2-case-foot span{font-size:.66rem}
.work-v2-areas-intro{padding:34px 0 2px}
.work-v2-areas-grid h2,.work-v2-product h2,.work-v2-method h2,.work-v2-exit h2,.work-v2-professional-summary-copy h2{
  font-size:clamp(1.85rem,2.25vw,2.45rem);
  line-height:1.08;
}
.work-v2-areas-grid p,.work-v2-product p,.work-v2-method p,.work-v2-exit p,.work-v2-professional-summary-copy p{font-size:.92rem;line-height:1.62}
.workspace{padding:20px 0 8px}
.tab strong{font-size:1rem}
.tab span{font-size:.68rem}
.panel h2{font-size:1.72rem}
.statement{font-size:1.34rem;line-height:1.36}
.context-line{font-size:.86rem;line-height:1.58}
.detail p,.dd-outcome,.dd-tools{font-size:.84rem;line-height:1.58}
.detail .label,.capabilities .label,.case-label{font-size:.66rem}
.deepdive summary{font-size:.74rem}
.work-v2-product{margin-top:28px;padding:38px 0}
.work-v2-method{padding:38px 0}
.work-v2-professional{padding:34px 0}
.work-v2-professional-details>summary{padding:24px 26px}
.work-v2-exp-grid p{font-size:.84rem;line-height:1.58}
.work-v2-exp-grid h3{font-size:1.34rem}
.work-v2-exp-grid strong{font-size:.73rem}
.work-v2-exit{padding:40px 0 44px}

/* Articles + Contact — same page-title family */
.articles-v2-main{padding:54px 0 72px}
.articles-v2-hero h1{font-size:clamp(3rem,4.6vw,4.8rem)}
.articles-v2-hero>p{font-size:.98rem;line-height:1.66}
.contact-v2-main{padding:38px 0 50px}
.contact-v2-copy h1{font-size:clamp(3.2rem,4.8vw,5.1rem)}
.contact-v2-lead{font-size:1rem;line-height:1.68}
.contact-v2-note{font-size:.88rem;line-height:1.6}

@media(max-width:1099px){
  :root{--hf-section-space:54px}
  .work-v2-hero{padding:48px 0 42px}
  .work-v2-section-head h2{font-size:2.25rem}
  .work-v2-areas-grid h2,.work-v2-product h2,.work-v2-method h2,.work-v2-exit h2,.work-v2-professional-summary-copy h2{font-size:2rem}
  .work-v2-product,.work-v2-method{padding:32px 0}
  .work-v2-professional{padding:30px 0}
}

@media(max-width:720px){
  :root{--hf-page-title:clamp(2.65rem,12vw,3.55rem);--hf-section-title:clamp(2rem,9vw,2.65rem)}
  .work-v2-hero{padding:34px 0 30px}
  .work-v2-hero-grid>p{font-size:.94rem;line-height:1.62}
  .work-v2-featured{padding:32px 0}
  .work-v2-section-head h2{font-size:2rem}
  .work-v2-section-head>p{font-size:.9rem}
  .work-v2-case h3{font-size:1.42rem}
  .work-v2-case p{font-size:.88rem}
  .work-v2-areas-grid h2,.work-v2-product h2,.work-v2-method h2,.work-v2-exit h2,.work-v2-professional-summary-copy h2{font-size:1.8rem}
  .work-v2-areas-grid p,.work-v2-product p,.work-v2-method p,.work-v2-exit p,.work-v2-professional-summary-copy p{font-size:.9rem}
  .panel h2{font-size:1.55rem}
  .statement{font-size:1.22rem}
  .context-line,.detail p,.dd-outcome,.dd-tools{font-size:.84rem}
  .work-v2-product,.work-v2-method{padding:28px 0}
  .work-v2-professional{padding:26px 0}
  .work-v2-exit{padding:30px 0 34px}
  .articles-v2-main{padding:36px 0 52px}
  .articles-v2-hero h1{font-size:2.65rem}
  .articles-v2-hero>p{font-size:.92rem}
  .contact-v2-copy h1{font-size:3rem}
}

/* =========================================================
   HF WEB v2.6.16 — EchoFather bridge page
   ========================================================= */
.echo-page-body{background:linear-gradient(180deg,#fbf8f2 0%,#f5efe6 100%)}
.echo-page-body main{padding-bottom:42px}
.echo-page-kicker{margin:0 0 9px;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--terra-text)}
.echo-page-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);gap:72px;align-items:center;padding:74px 0 64px;border-bottom:1px solid var(--line)}
.echo-page-hero h1,.echo-page-section-head h2,.echo-page-connection h2,.echo-page-boundary h2,.echo-page-final h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--ink)}
.echo-page-hero h1{font-size:clamp(3.6rem,5.15vw,6rem);line-height:.95;letter-spacing:-.025em;margin:0 0 22px;max-width:880px}.echo-page-hero h1 em{font-style:normal;color:var(--terra-text)}
.echo-page-lead{font-size:1.08rem;line-height:1.62;max-width:760px;margin:0 0 15px;color:#403d38}.echo-page-note{font-size:.94rem;line-height:1.62;max-width:720px;margin:0;color:var(--muted)}
.echo-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.echo-page-brand-card{min-height:330px;border:1px solid var(--line);border-radius:22px;background:rgba(251,248,242,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;box-shadow:0 20px 50px rgba(38,30,21,.05)}
.echo-page-logo{width:min(360px,82%);height:auto;object-fit:contain;margin-bottom:22px}.echo-page-brand-card p{font-family:Georgia,"Times New Roman",serif;font-size:1.24rem;line-height:1.35;max-width:430px;margin:0;color:#454139}
.echo-page-doors{padding:64px 0;border-bottom:1px solid var(--line)}
.echo-page-section-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);gap:64px;align-items:end;margin-bottom:28px}.echo-page-section-head h2{font-size:clamp(2.2rem,3vw,3.7rem);line-height:1.03;margin:0;max-width:900px}.echo-page-section-head>p{font-size:.96rem;line-height:1.62;margin:0;color:var(--muted);max-width:560px}
.echo-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.echo-page-card{border:1px solid var(--line);border-radius:18px;background:rgba(251,248,242,.72);padding:28px;min-height:310px;display:flex;flex-direction:column}.echo-page-card>span{font-size:.63rem;font-weight:900;letter-spacing:.1em;color:var(--sage-dark);text-transform:uppercase}.echo-page-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:400;line-height:1.08;margin:16px 0 13px}.echo-page-card p{font-size:.95rem;line-height:1.58;margin:0;color:#4b4842}.echo-page-card a{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding-top:22px;font-size:.76rem;font-weight:900;color:var(--terra-dark)}.echo-page-card a:hover{text-decoration:underline;text-underline-offset:4px}
.echo-page-connection{display:grid;grid-template-columns:minmax(0,.88fr) minmax(340px,1.12fr);gap:76px;padding:64px 0;border-bottom:1px solid var(--line)}.echo-page-connection h2{font-size:clamp(2.1rem,2.75vw,3.35rem);line-height:1.04;margin:0}.echo-page-connection>div:last-child{align-self:end}.echo-page-connection p{font-size:1rem;line-height:1.67;margin:0 0 14px;color:#4a4740}.echo-page-connection p:last-child{margin-bottom:0}
.echo-page-boundary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;align-items:center;margin-top:50px;padding:34px 38px;border:1px solid var(--line);border-radius:18px;background:rgba(116,128,108,.075)}.echo-page-boundary-mark{width:120px;height:120px;display:grid;place-items:center}.echo-page-boundary-mark img{width:100%;height:100%;object-fit:contain}.echo-page-boundary h2{font-size:clamp(1.9rem,2.45vw,3rem);line-height:1.08;margin:0 0 12px;max-width:1000px}.echo-page-boundary p:last-child{font-size:.94rem;line-height:1.62;margin:0;max-width:900px;color:var(--muted)}
.echo-page-final{display:flex;align-items:flex-end;justify-content:space-between;gap:38px;padding:60px 0 18px}.echo-page-final h2{font-size:clamp(2rem,2.65vw,3.2rem);line-height:1.06;margin:0 0 10px}.echo-page-final p{font-size:.94rem;line-height:1.55;margin:0;color:var(--muted)}.echo-page-final>.btn{flex:0 0 auto}

@media(max-width:1099px){
  .echo-page-hero{grid-template-columns:1fr;gap:32px;padding:52px 0}.echo-page-brand-card{min-height:250px}.echo-page-logo{width:min(340px,72%)}
  .echo-page-section-head,.echo-page-connection{grid-template-columns:1fr;gap:18px}.echo-page-grid{grid-template-columns:1fr 1fr}.echo-page-card:last-child{grid-column:1/-1;min-height:250px}.echo-page-doors,.echo-page-connection{padding:50px 0}
  .echo-page-boundary{grid-template-columns:110px 1fr;padding:28px 30px}.echo-page-boundary-mark{width:92px;height:92px}.echo-page-final{padding-top:48px}
}
@media(max-width:720px){
  .echo-page-body main{padding-bottom:24px}.echo-page-kicker{font-size:.62rem}.echo-page-hero{padding:36px 0 38px}.echo-page-hero h1{font-size:clamp(2.75rem,13vw,4rem);line-height:.98;margin-bottom:17px}.echo-page-lead{font-size:.98rem}.echo-page-note{font-size:.88rem}.echo-page-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}.echo-page-actions .btn{width:100%}.echo-page-brand-card{min-height:210px;padding:26px 20px;border-radius:16px}.echo-page-logo{width:min(300px,86%);margin-bottom:16px}.echo-page-brand-card p{font-size:1.05rem}
  .echo-page-doors,.echo-page-connection{padding:38px 0}.echo-page-section-head{margin-bottom:20px}.echo-page-section-head h2,.echo-page-connection h2{font-size:2.1rem}.echo-page-section-head>p,.echo-page-connection p{font-size:.9rem}.echo-page-grid{grid-template-columns:1fr}.echo-page-card,.echo-page-card:last-child{grid-column:auto;min-height:0;padding:22px}.echo-page-card h3{font-size:1.55rem}.echo-page-card p{font-size:.9rem}.echo-page-card a{padding-top:18px}
  .echo-page-boundary{grid-template-columns:1fr;gap:14px;margin-top:34px;padding:24px}.echo-page-boundary-mark{width:70px;height:70px}.echo-page-boundary h2{font-size:1.8rem}.echo-page-boundary p:last-child{font-size:.88rem}.echo-page-final{display:block;padding:40px 0 10px}.echo-page-final h2{font-size:2rem}.echo-page-final>.btn{margin-top:20px;width:100%}
}

/* =========================================================
   HF WEB v2.6.17 — EchoFather bridge geometry fix
   ========================================================= */
.echo-page-section-head{
  display:block;
  margin-bottom:38px;
}
.echo-page-section-head h2{
  max-width:1080px;
  font-size:clamp(2.15rem,2.7vw,3.25rem);
  line-height:1.04;
  margin:0;
}
.echo-page-section-head>p{
  max-width:760px;
  margin:14px 0 0;
  font-size:.96rem;
  line-height:1.58;
}
.echo-page-grid{position:relative;clear:both}
@media(max-width:1099px){
  .echo-page-section-head{margin-bottom:30px}
  .echo-page-section-head h2{font-size:2.55rem}
}
@media(max-width:720px){
  .echo-page-section-head{margin-bottom:22px}
  .echo-page-section-head h2{font-size:2.05rem}
  .echo-page-section-head>p{font-size:.9rem;margin-top:10px}
}


/* v2.6.18 · section headers must size to their content, never inherit site-header height */
.work-v2-section-head,.echo-bridge-section-head,.articles-head,.contact-head{height:auto;min-height:0}

/* =========================================================
   CV · recruiter surface
   ========================================================= */
.cv-body{background:linear-gradient(180deg,#fbf8f2,#f4efe6)}
.cv-main{padding-bottom:48px}
.cv-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:48px;align-items:center;padding:58px 0 42px;border-bottom:1px solid var(--line)}
.cv-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,4.7vw,5.4rem);font-weight:400;line-height:.94;margin:8px 0 8px;letter-spacing:-.025em}
.cv-role{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.2rem,1.65vw,1.75rem);margin:0 0 12px;color:var(--terra-dark)}
.cv-claim{font-size:1rem;font-weight:850;color:var(--sage-dark);margin:0 0 14px}
.cv-intro{max-width:860px;font-size:.98rem;line-height:1.68;color:var(--muted);margin:0}
.cv-contact-line{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.78rem;font-weight:750;color:#555149}
.cv-contact-line a{color:var(--terra-dark)}
.cv-actions-card{border:1px solid var(--line);border-radius:18px;background:rgba(251,248,242,.75);padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;box-shadow:0 14px 40px rgba(50,38,25,.045)}
.cv-actions-card img{width:78px;height:64px;object-fit:contain;margin-bottom:6px}
.cv-actions-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;font-weight:400}
.cv-actions-card>span{font-size:.72rem;color:var(--muted);margin-bottom:6px}
.cv-actions-card .btn{width:100%}
.cv-section{padding:46px 0;border-bottom:1px solid var(--line)}
.cv-section-head{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1.58fr);gap:30px;align-items:end;margin-bottom:22px}
.cv-section-head>span{font-size:.64rem;font-weight:900;letter-spacing:.11em;color:var(--terra-text);text-transform:uppercase}
.cv-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,2.5vw,2.7rem);line-height:1.03;font-weight:400;margin:0}
.cv-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cv-chip-grid span{border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:rgba(251,248,242,.62);font-size:.72rem;font-weight:750;text-align:center;color:#504c45}
.cv-timeline{display:grid;gap:0;border-top:1px solid var(--line)}
.cv-timeline article{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.cv-date{font-size:.64rem;font-weight:900;letter-spacing:.08em;color:var(--sage-dark);text-transform:uppercase;padding-top:4px}
.cv-timeline h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;margin:0 0 4px}
.cv-timeline strong{display:block;font-size:.79rem;color:var(--terra-dark);margin-bottom:11px}
.cv-timeline ul{columns:2;column-gap:38px;margin:0;padding-left:18px;color:#514d46;font-size:.78rem;line-height:1.55}
.cv-timeline li{break-inside:avoid;margin:0 0 6px}
.cv-volunteer{background:rgba(198,154,69,.045)}
.cv-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cv-project-grid article{border:1px solid var(--line);border-radius:16px;padding:22px;background:rgba(251,248,242,.62);min-height:230px;display:flex;flex-direction:column}
.cv-project-grid article>span{font-size:.58rem;font-weight:900;letter-spacing:.09em;color:var(--sage-dark);text-transform:uppercase}
.cv-project-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:400;margin:10px 0 8px}
.cv-project-grid p{font-size:.78rem;line-height:1.55;color:var(--muted);margin:0 0 18px}
.cv-project-grid a{margin-top:auto;font-size:.7rem;font-weight:900;color:var(--terra-dark)}
.cv-edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cv-edu-grid article{border:1px solid var(--line);border-radius:15px;padding:20px 22px;background:rgba(251,248,242,.62)}
.cv-edu-grid span{font-size:.62rem;font-weight:900;color:var(--terra-text);letter-spacing:.08em}
.cv-edu-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;font-weight:400;margin:7px 0 4px}
.cv-edu-grid p{font-size:.76rem;color:var(--muted);margin:0}
.cv-stack-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:15px;overflow:hidden;background:rgba(251,248,242,.55)}
.cv-stack-grid article{padding:19px 21px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.cv-stack-grid article:nth-child(2n){border-right:0}.cv-stack-grid article:nth-last-child(-n+2){border-bottom:0}
.cv-stack-grid strong{display:block;font-size:.7rem;color:var(--terra-dark);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.cv-stack-grid p{font-size:.75rem;line-height:1.5;color:var(--muted);margin:0}
.cv-footer-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px 0 0}
.cv-footer-cta>div:first-child{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
.cv-footer-cta strong{font-size:.78rem}
.cv-footer-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1099px){
  .cv-hero{grid-template-columns:1fr;gap:22px;padding:42px 0 34px}.cv-actions-card{display:grid;grid-template-columns:70px 1fr auto auto;align-items:center}.cv-actions-card img{margin:0}.cv-actions-card>span{margin:0}.cv-actions-card .btn{width:auto}
  .cv-chip-grid{grid-template-columns:repeat(2,1fr)}.cv-timeline article{grid-template-columns:150px 1fr}.cv-project-grid{grid-template-columns:1fr 1fr}.cv-project-grid article:last-child{grid-column:1/-1}.cv-section-head{grid-template-columns:1fr;gap:7px}
}
@media(max-width:720px){
  .cv-main{padding-bottom:30px}.cv-hero{padding:28px 0 26px}.cv-hero h1{font-size:clamp(2.8rem,12vw,4rem)}.cv-role{font-size:1.2rem}.cv-intro{font-size:.88rem}.cv-contact-line{display:grid;gap:6px}
  .cv-actions-card{display:flex;padding:18px}.cv-actions-card img{width:64px;height:52px}.cv-actions-card .btn{width:100%}
  .cv-section{padding:32px 0}.cv-section-head{margin-bottom:16px}.cv-section-head h2{font-size:1.75rem}.cv-chip-grid{grid-template-columns:1fr}.cv-chip-grid span{text-align:left}
  .cv-timeline article{grid-template-columns:1fr;gap:8px;padding:22px 0}.cv-timeline ul{columns:1;font-size:.8rem}.cv-project-grid{grid-template-columns:1fr}.cv-project-grid article:last-child{grid-column:auto}.cv-project-grid article{min-height:0}
  .cv-edu-grid,.cv-stack-grid{grid-template-columns:1fr}.cv-stack-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.cv-stack-grid article:last-child{border-bottom:0!important}
  .cv-footer-cta{display:block}.cv-footer-cta>div:first-child{display:grid;gap:6px}.cv-footer-actions{margin-top:16px}.cv-footer-actions .btn{flex:1}
}

/* CV impact RC3 */
.cv-project-date{display:block;margin:6px 0 8px;font-size:.68rem;font-weight:850;letter-spacing:.04em;color:var(--terra-dark)}

/* =========================================================
   HF WEB v2.6.25 · EchoFather definitive-logo integration
   Uses the approved artwork unchanged; only responsive placement changes.
   ========================================================= */

/* Home: full EchoFather logo needs horizontal breathing room; don't miniaturize it beside copy. */
.echo-box .echo-inline{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.echo-box .echo-inline img{
  width:min(148px,92%);
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.echo-box .echo-inline p{margin:0}
.echo-box .echo-inline a{margin-top:2px}

/* About 07: keep the bridge compact while showing the approved full mark. */
.echo-cta img{
  width:66px;
  height:auto;
  max-height:44px;
  object-fit:contain;
  flex:0 0 auto;
}

/* EchoFather bridge page: the approved logo is the visual signature of the page. */
.echo-page-brand-card{
  min-height:350px;
  padding:34px 38px;
}
.echo-page-logo{
  width:min(470px,92%);
  height:auto;
  margin-bottom:18px;
  filter:drop-shadow(0 12px 24px rgba(77,51,17,.10));
}

@media(max-width:1099px){
  .echo-box .echo-inline img{width:min(138px,88%)}
  .echo-page-brand-card{min-height:280px}
  .echo-page-logo{width:min(430px,82%)}
}

@media(max-width:720px){
  .echo-box .echo-inline img{width:min(132px,82%)}
  .echo-cta{gap:9px}
  .echo-cta img{width:58px;max-height:39px}
  .echo-page-brand-card{min-height:230px;padding:24px 18px}
  .echo-page-logo{width:min(360px,92%);margin-bottom:14px}
}

/* =========================================================
   v2.6.26 · PUBLIC COPY & POLISH
   Density, contact portrait and Home EchoFather containment.
   ========================================================= */

/* Home — new full EchoFather artwork, but with the compact footprint of the prior teaser. */
.echo-box{padding:9px 10px}
.echo-box .echo-inline{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:9px;
  align-items:center;
}
.echo-box .echo-inline img{
  width:104px;
  max-width:100%;
  height:auto;
  max-height:74px;
  object-fit:contain;
  object-position:left center;
}
.echo-box .echo-inline p{font-size:.49rem;line-height:1.35}
.echo-box .echo-inline a{margin-top:4px}

/* Contact — portrait supports the message instead of competing with it. */
@media(min-width:1100px){
  .contact-v2-hero{
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.72fr);
    gap:38px;
    align-items:center;
    min-height:calc(100vh - 150px);
  }
  .contact-v2-portrait{
    min-height:0;
    max-height:430px;
    aspect-ratio:630/425;
    align-self:center;
  }
  .contact-v2-portrait img{
    min-height:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}
@media(min-width:721px) and (max-width:1099px){
  .contact-v2-portrait,.contact-v2-portrait img{min-height:0}
  .contact-v2-portrait{aspect-ratio:630/425;align-self:center}
  .contact-v2-portrait img{height:100%;object-fit:cover}
}

@media(max-width:1099px){
  .echo-box .echo-inline{grid-template-columns:96px minmax(0,1fr)}
  .echo-box .echo-inline img{width:92px;max-height:66px}
}
@media(max-width:720px){
  .echo-box .echo-inline{grid-template-columns:92px minmax(0,1fr);gap:8px}
  .echo-box .echo-inline img{width:88px;max-height:64px}
}


/* HF WEB v2.6.27 — career depth / Staples integration */
.staples-wordmark{color:#4f5f78;letter-spacing:.04em;font-size:.62rem}
.work-v2-exp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-v2-exp-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-v2-exp-grid article:nth-child(even){border-right:0}
.work-v2-exp-grid article:nth-last-child(-n+2){border-bottom:0}
@media(max-width:740px){
  .work-v2-exp-grid{grid-template-columns:1fr}
  .work-v2-exp-grid article,.work-v2-exp-grid article:nth-child(even),.work-v2-exp-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}
  .work-v2-exp-grid article:last-child{border-bottom:0}
}


/* v2.6.29 · ARTICLES OWN CARDS */
.articles-cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
  margin-top:32px;
}
.article-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(251,248,242,.72);
  padding:28px;
  display:flex;
  flex-direction:column;
  min-height:280px;
}
.article-card-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.article-card-num{font-family:Georgia,serif;font-size:1.4rem;color:var(--terra-text)}
.article-card-head small{font-size:.58rem;font-weight:900;letter-spacing:.1em;color:var(--sage-dark);text-transform:uppercase}
.article-card h3{font-family:Georgia,serif;font-size:1.32rem;line-height:1.15;font-weight:400;margin:0 0 14px;color:var(--ink)}
.article-card-excerpt{font-size:.95rem;line-height:1.6;color:#4b4842;margin:0 0 24px;flex:1}
.article-card-cta{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;font-size:.78rem;font-weight:900;color:var(--terra-dark)}
.article-card-cta:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.articles-cards-grid{grid-template-columns:1fr;gap:16px}.article-card{min-height:0;padding:22px}}


/* HF WEB v2.6.34 — navigation clarity + real Staples logo */
.exp img.logo-staples{width:84px;max-height:34px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
@media(max-width:720px){.work-context .shell:after{display:none!important;content:none!important}}

/* =========================================================
   HF WEB v2.6.35 RC2 · TABLET / ORIENTATION GAP FIX
   At 721–1099px the previous two-column lower grid forced
   Experience to share a row with two stacked side cards,
   creating a large visual void below Staples. Keep each
   content group in its own natural-height row instead.
   ========================================================= */
@media (min-width:721px) and (max-width:1099px){
  .lower{
    grid-template-columns:1fr;
    align-items:start;
  }
  .work,
  .experience,
  .side{
    grid-column:1;
    min-height:0;
  }
  .experience{
    margin-top:18px;
    border-left:0;
    padding-left:0;
    height:auto;
  }
  .experience .exp{
    min-height:0;
    height:auto;
    padding:9px 0;
  }
  .side{
    margin-top:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    gap:12px;
    height:auto;
    align-content:start;
  }
  .side-box{
    min-height:0;
    height:auto;
  }
}

/* =========================================================
   HF WEB v2.6.35 RC4 · GLOBAL RESPONSIVE FIT AUDIT
   Home / Work / Articles / Contact / CV / EchoFather were re-rendered in
   portrait and landscape. Their existing stacked gaps are already compact;
   preserve those rules and the RC2 Home lower-grid fix without further
   geometry changes in this stabilization release.
   ========================================================= */


/* v2.9.2 · FINAL FREEZE RC · touch-target polish
   Expands interactive hit areas on compact navigation without changing visual hierarchy. */
@media(max-width:1099px){
  .menu{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}
  .main-nav .lang a,.main-nav .lang span{min-width:40px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
}


/* =========================================================
   HF WEB v2.9.4 · NAV / HOME / CONTACT POLISH
   - Preserve the 1480px global container system.
   - Prioritise desktop readability over forced one-screen fitting.
   - Rebalance Home hero and lower content.
   - Remove redundant brand repetition in Contact.
   ========================================================= */
@media (min-width:1100px){
  .home-body{overflow-y:auto!important}
  .home-body main.shell{
    height:auto!important;
    display:grid!important;
    grid-template-rows:auto auto auto auto!important;
    row-gap:16px!important;
    align-content:start!important;
  }
  .home-body .hero{
    height:350px!important;
    min-height:350px!important;
    overflow:visible!important;
  }
  .home-body .hero-copy{padding-left:28px!important}
  .home-body .hero-art{
    height:350px!important;
    min-height:350px!important;
    overflow:visible!important;
  }
  .home-body .hero-art>.portrait{
    width:auto!important;
    height:91%!important;
    max-width:86%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .home-body .hero-note{
    width:142px!important;
    min-width:118px!important;
    max-width:160px!important;
    right:0!important;
    top:43%!important;
    transform:translateY(-50%)!important;
  }
  .home-body .scroll-cue{right:.25%!important;bottom:8%!important}
  .home-body .timeline{height:auto!important;min-height:98px!important}
  .home-body .milestone{padding:12px 15px!important;grid-template-columns:44px 1fr!important}
  .home-body .milestone img{width:40px!important;height:40px!important}
  .home-body .m-title{font-size:.74rem!important}
  .home-body .m-text{font-size:.63rem!important;line-height:1.34!important;max-width:180px!important}
  .home-body .lower{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:minmax(0,59fr) minmax(0,24fr) minmax(0,17fr)!important;
    gap:16px!important;
  }
  .home-body .section-head{height:50px!important}
  .home-body .section-title{font-size:1.58rem!important}
  .home-body .eyebrow{font-size:.61rem!important}
  .home-body .all{font-size:.62rem!important}
  .home-body .cards{height:auto!important;min-height:232px!important;gap:11px!important}
  .home-body .card{min-height:232px!important;padding:12px!important;grid-template-columns:48px 1fr!important;gap:7px 9px!important}
  .home-body .card img{width:48px!important;height:58px!important}
  .home-body .card h3{font-size:.70rem!important;line-height:1.2!important;min-height:34px!important}
  .home-body .card p{font-size:.61rem!important;line-height:1.42!important}
  .home-body .card a{font-size:.60rem!important}
  .home-body .experience{min-height:282px!important;padding-left:16px!important}
  .home-body .experience>.eyebrow{height:28px!important}
  .home-body .exp{min-height:82px!important;padding:7px 0!important;grid-template-columns:82px 1fr!important}
  .home-body .exp img{width:80px!important;max-height:31px!important}
  .home-body .exp h4{font-size:.64rem!important}
  .home-body .exp p{font-size:.55rem!important;line-height:1.3!important}
  .home-body .who{font-size:.72rem!important}
  .home-body .side{min-height:282px!important;gap:11px!important}
  .home-body .side-box{padding:13px!important}
  .home-body .side-box h4{font-size:.68rem!important}
  .home-body .side-box p{font-size:.57rem!important;line-height:1.46!important}
  .home-body .side-box a{font-size:.57rem!important}
  .home-body .final-cta{height:auto!important;min-height:72px!important;margin-bottom:24px!important;padding:10px 16px!important}
  .home-body .final-cta h2{font-size:1.22rem!important}
  .home-body .final-cta p{font-size:.55rem!important}
}
@media (min-width:1800px) and (min-height:950px){
  .home-body .hero{height:365px!important;min-height:365px!important}
  .home-body .hero-art{height:365px!important;min-height:365px!important}
  .home-body .name{font-size:6.05rem!important}
  .home-body .tags{font-size:1.08rem!important}
  .home-body .claim{font-size:1.52rem!important}
  .home-body .desc{font-size:.76rem!important;max-width:500px!important}
  .home-body .hero-note{width:150px!important;top:44%!important}
}

/* Contact: the global header already carries the brand; keep the page itself focused on the conversation. */
.contact-v2-main{padding:58px 0 72px}
.contact-v2-hero{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);
  gap:64px;
  align-items:center;
  min-height:auto;
}
.contact-v2-copy{justify-content:center;padding:32px 0}
.contact-v2-brand-lockup{display:none!important}
.contact-v2-copy h1{font-size:clamp(3.6rem,5vw,5.6rem);margin-bottom:22px}
.contact-v2-lead{max-width:720px}
.contact-v2-note{max-width:720px}
.contact-v2-portrait{min-height:0;height:470px;align-self:center}
.contact-v2-portrait img{min-height:0;height:100%;object-fit:cover;object-position:center 34%}
@media(max-width:1099px){
  .contact-v2-main{padding:42px 0 58px}
  .contact-v2-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:34px}
  .contact-v2-copy{padding:24px 0}
  .contact-v2-portrait,.contact-v2-portrait img{height:430px;min-height:0}
}
@media(max-width:760px){
  .contact-v2-main{padding:28px 0 44px}
  .contact-v2-hero{grid-template-columns:1fr;gap:24px}
  .contact-v2-copy{padding:12px 0 0}
  .contact-v2-portrait{height:auto;aspect-ratio:630/425}
  .contact-v2-portrait img{height:100%;min-height:0}
}

/* v2.9.4 · Contact closing balance on desktop */
@media(min-width:1100px){
  .contact-v2-main{min-height:calc(100vh - 64px);display:flex;align-items:center}
  .contact-v2-hero{width:100%}
}
@media(max-width:1099px){
  .contact-v2-main{min-height:0;display:block}
}

/* v2.9.4 · Header consistency also overrides the old 1366px compact-header exception. */
@media(min-width:1100px){
  body>header{height:64px!important}
  .navbar{height:64px!important;min-height:64px!important;gap:22px!important}
  .brand img{width:48px!important;height:45px!important}
  .brand-title{font-size:1rem!important}
  .brand-sub{font-size:.54rem!important}
  .main-nav{gap:26px!important;font-size:.76rem!important}
  .linkedin{padding:8px 14px!important}
}

/* Contact portrait follows its grid column at every width; no aspect-ratio/min-width overflow. */
.contact-v2-portrait{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:630/425!important}
.contact-v2-portrait img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;object-position:center 34%!important}

/* =========================================================
   HF WEB v2.9.5 · HOME SCALE HARMONY
   The global 1480px container remains untouched.
   Home no longer inherits the old "fit everything in one screen"
   visual scale on desktop. The page uses the same perceived scale
   and breathing room as the rest of HF WEB, with natural scrolling.
   ========================================================= */
@media (min-width:1100px){
  .home-body{overflow-y:auto!important}
  .home-body main.shell{
    height:auto!important;
    min-height:calc(100vh - 64px)!important;
    grid-template-rows:auto auto auto auto!important;
    row-gap:20px!important;
    align-content:start!important;
    padding-bottom:34px!important;
  }

  .home-body .hero{
    height:410px!important;
    min-height:410px!important;
    grid-template-columns:minmax(0,45fr) minmax(0,55fr)!important;
    gap:22px!important;
    overflow:visible!important;
  }
  .home-body .hero-copy{padding-left:34px!important}
  .home-body .name{font-size:5.75rem!important;line-height:.80!important}
  .home-body .tags{font-size:1.08rem!important;margin:11px 0!important}
  .home-body .claim{font-size:1.58rem!important;line-height:1.10!important;margin:8px 0!important}
  .home-body .desc{font-size:.80rem!important;line-height:1.52!important;max-width:520px!important}
  .home-body .cta{margin:13px 0 10px!important}
  .home-body .btn{font-size:.72rem!important;padding:9px 18px!important}
  .home-body .loc{font-size:.67rem!important}

  .home-body .hero-art{height:410px!important;min-height:410px!important;overflow:visible!important}
  .home-body .hero-art>.portrait{
    height:94%!important;
    width:auto!important;
    max-width:90%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .home-body .hero-note{
    width:150px!important;
    min-width:130px!important;
    max-width:165px!important;
    right:0!important;
    top:45%!important;
    transform:translateY(-50%)!important;
  }

  .home-body .timeline{height:auto!important;min-height:108px!important}
  .home-body .milestone{grid-template-columns:48px 1fr!important;gap:10px!important;padding:14px 16px!important}
  .home-body .milestone img{width:44px!important;height:44px!important}
  .home-body .milestone-echo{grid-template-columns:50px 1fr!important}
  .home-body .milestone-echo img{width:46px!important;height:46px!important}
  .home-body .m-title{font-size:.80rem!important;line-height:1.14!important}
  .home-body .m-text{font-size:.68rem!important;line-height:1.38!important;max-width:190px!important}

  .home-body .lower{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:minmax(0,59fr) minmax(0,24fr) minmax(0,17fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .home-body .section-head{height:54px!important}
  .home-body .eyebrow{font-size:.66rem!important}
  .home-body .section-title{font-size:1.82rem!important}
  .home-body .all{font-size:.66rem!important;margin-bottom:8px!important}

  .home-body .cards{height:auto!important;min-height:258px!important;gap:12px!important}
  .home-body .card{
    min-height:258px!important;
    padding:14px!important;
    grid-template-columns:54px 1fr!important;
    gap:8px 10px!important;
  }
  .home-body .card img{width:54px!important;height:64px!important}
  .home-body .card h3{font-size:.75rem!important;line-height:1.20!important;min-height:38px!important}
  .home-body .card p{font-size:.67rem!important;line-height:1.46!important}
  .home-body .card a{font-size:.65rem!important;margin-top:8px!important}

  .home-body .experience{height:auto!important;min-height:312px!important;padding-left:18px!important}
  .home-body .experience>.eyebrow{height:31px!important}
  .home-body .exp{height:auto!important;min-height:90px!important;padding:9px 0!important;grid-template-columns:88px 1fr!important;gap:10px!important}
  .home-body .exp img{width:86px!important;max-height:34px!important}
  .home-body .exp .logo-sl{width:72px!important;max-width:72px!important;max-height:26px!important}
  .home-body .exp h4{font-size:.70rem!important;line-height:1.22!important}
  .home-body .exp p{font-size:.61rem!important;line-height:1.34!important}
  .home-body .who{font-size:.77rem!important}

  .home-body .side{height:auto!important;min-height:312px!important;gap:12px!important}
  .home-body .side-box{min-height:0!important;padding:15px!important}
  .home-body .side-box h4{font-size:.74rem!important}
  .home-body .side-box p{font-size:.64rem!important;line-height:1.50!important}
  .home-body .side-box a{font-size:.63rem!important;margin-top:8px!important}
  .home-body .echo-inline{grid-template-columns:66px 1fr!important;gap:10px!important}
  .home-body .echo-inline img{width:62px!important}

  .home-body .final-cta{
    height:auto!important;
    min-height:82px!important;
    margin:0 0 10px!important;
    grid-template-columns:62px 1fr 130px!important;
    padding:11px 18px!important;
  }
  .home-body .orb{width:48px!important;height:48px!important}
  .home-body .final-cta h2{font-size:1.30rem!important}
  .home-body .final-cta p{font-size:.61rem!important;line-height:1.4!important}
}

/* Laptop desktop: preserve the same visual language, slightly reduced only
   because the physical viewport is narrower — never the old miniaturised scale. */
@media (min-width:1100px) and (max-width:1439px){
  .home-body main.shell{row-gap:16px!important;padding-bottom:26px!important}
  .home-body .hero,.home-body .hero-art{height:380px!important;min-height:380px!important}
  .home-body .hero-copy{padding-left:24px!important}
  .home-body .name{font-size:5.15rem!important}
  .home-body .tags{font-size:1rem!important}
  .home-body .claim{font-size:1.45rem!important}
  .home-body .desc{font-size:.76rem!important;max-width:500px!important}
  .home-body .hero-note{width:138px!important}
  .home-body .timeline{min-height:100px!important}
  .home-body .milestone{grid-template-columns:44px 1fr!important;padding:12px 13px!important}
  .home-body .milestone img{width:40px!important;height:40px!important}
  .home-body .m-title{font-size:.75rem!important}
  .home-body .m-text{font-size:.63rem!important;max-width:175px!important}
  .home-body .section-title{font-size:1.65rem!important}
  .home-body .cards{min-height:236px!important;gap:10px!important}
  .home-body .card{min-height:236px!important;padding:12px!important;grid-template-columns:48px 1fr!important}
  .home-body .card img{width:48px!important;height:58px!important}
  .home-body .card h3{font-size:.69rem!important;min-height:34px!important}
  .home-body .card p{font-size:.61rem!important;line-height:1.42!important}
  .home-body .card a{font-size:.60rem!important}
  .home-body .experience,.home-body .side{min-height:292px!important}
  .home-body .exp{min-height:82px!important;grid-template-columns:78px 1fr!important}
  .home-body .exp img{width:76px!important}
  .home-body .exp h4{font-size:.65rem!important}
  .home-body .exp p{font-size:.57rem!important}
  .home-body .side-box p{font-size:.59rem!important}
  .home-body .final-cta{min-height:76px!important}
}

/* Wide desktop: use the available canvas instead of leaving Home looking scaled down. */
@media (min-width:1800px) and (min-height:900px){
  .home-body main.shell{row-gap:22px!important;padding-bottom:42px!important}
  .home-body .hero,.home-body .hero-art{height:455px!important;min-height:455px!important}
  .home-body .name{font-size:6.65rem!important}
  .home-body .tags{font-size:1.18rem!important}
  .home-body .claim{font-size:1.78rem!important}
  .home-body .desc{font-size:.88rem!important;max-width:560px!important}
  .home-body .hero-note{width:165px!important;max-width:175px!important}
  .home-body .timeline{min-height:118px!important}
  .home-body .m-title{font-size:.84rem!important}
  .home-body .m-text{font-size:.72rem!important;max-width:205px!important}
  .home-body .section-title{font-size:1.95rem!important}
  .home-body .cards{min-height:278px!important}
  .home-body .card{min-height:278px!important;padding:16px!important;grid-template-columns:58px 1fr!important}
  .home-body .card img{width:58px!important;height:68px!important}
  .home-body .card h3{font-size:.80rem!important;min-height:40px!important}
  .home-body .card p{font-size:.71rem!important}
  .home-body .card a{font-size:.68rem!important}
  .home-body .experience,.home-body .side{min-height:330px!important}
  .home-body .exp{min-height:96px!important;grid-template-columns:94px 1fr!important}
  .home-body .exp img{width:92px!important;max-height:36px!important}
  .home-body .exp h4{font-size:.74rem!important}
  .home-body .exp p{font-size:.65rem!important}
  .home-body .side-box p{font-size:.68rem!important}
  .home-body .final-cta{min-height:88px!important}
  .home-body .final-cta h2{font-size:1.38rem!important}
  .home-body .final-cta p{font-size:.64rem!important}
}

/* =========================================================
   v2.9.6 · HOME PROJECT CARD RHYTHM
   Keep title / description / CTA baselines consistent across
   featured project cards without changing their content.
   ========================================================= */
@media (min-width:721px){
  .home-body .cards{
    align-items:stretch;
  }
  .home-body .card{
    height:100%;
    min-height:0;
    grid-template-columns:50px minmax(0,1fr);
    grid-template-rows:1fr auto;
    align-content:stretch;
  }
  .home-body .card img{
    grid-column:1;
    grid-row:1;
    align-self:start;
  }
  .home-body .card-copy{
    grid-column:2;
    grid-row:1;
    display:grid;
    grid-template-rows:3.55em auto;
    align-content:start;
    min-width:0;
  }
  .home-body .card h3{
    min-height:0;
    margin:0;
    align-self:start;
  }
  .home-body .card p{
    margin:0;
    align-self:start;
  }
  .home-body .card>a{
    grid-column:1 / -1;
    grid-row:2;
    align-self:end;
    margin-top:12px;
    padding-top:9px;
    border-top:1px solid rgba(70,57,41,.10);
  }
}
@media (min-width:721px) and (max-width:1099px){
  .home-body .card-copy{grid-template-rows:3.2em auto}
}
@media (max-width:720px){
  .home-body .card-copy{display:block}
  .home-body .card>a{border-top:0;padding-top:0}
}


/* =========================================================
   v3.0.4 · HOME REBALANCED
   Remove employer strip from Home without scaling up the page.
   Project area keeps its original desktop share and component scale.
   EchoFather + Articles reuse the released column as compact editorial cards.
   ========================================================= */
@media (min-width:1100px){
  .home-body .lower{
    grid-template-columns:minmax(0,59fr) minmax(0,41fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .home-body .work{min-width:0}
  .home-body .side{
    min-width:0;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,270px))!important;
    grid-template-rows:auto!important;
    gap:12px!important;
    justify-content:space-between!important;
    align-content:start!important;
    padding-top:54px;
  }
  .home-body .side-box{
    height:auto!important;
    min-height:0!important;
  }
}

@media (min-width:1100px) and (max-width:1439px){
  .home-body .lower{gap:16px!important}
  .home-body .side{gap:10px!important;padding-top:54px}
}

@media (max-width:1099px){
  .home-body .lower{grid-template-columns:1fr!important}
  .home-body .work{grid-column:auto!important}
  .home-body .side{
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    gap:12px!important;
    min-height:0!important;
    margin-top:0!important;
  }
  .home-body .side-box{min-height:0!important}
}

@media (max-width:720px){
  .home-body .side{
    grid-template-columns:1fr!important;
    margin-top:18px!important;
  }
}

/* =========================================================
   v3.0.5 · HOME COMPACT + EDITORIAL GROUP
   Final micro-adjustment after removing employer experience:
   - keep project scale/width, remove inherited dead height
   - compact project cards to content-driven equal rhythm
   - group EchoFather + Articles as one editorial panel
   ========================================================= */
@media (min-width:1100px){
  .home-body .lower{
    min-height:0!important;
    height:auto!important;
    align-items:start!important;
  }

  .home-body .cards{
    min-height:0!important;
    height:auto!important;
    align-items:stretch!important;
  }
  .home-body .card{
    min-height:198px!important;
    height:auto!important;
  }

  /* One editorial unit, visually distinct from the project cards. */
  .home-body .side{
    margin-top:54px!important;
    min-height:198px!important;
    padding:10px!important;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(116,128,108,.045);
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }
  .home-body .side-box{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:12px 14px!important;
    overflow:visible!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .home-body .side-box + .side-box{
    border-left:1px solid var(--line)!important;
  }
  .home-body .echo-box .echo-inline{
    grid-template-columns:62px 1fr!important;
    gap:10px!important;
  }
  .home-body .echo-box .echo-inline img{width:58px!important}
}

@media (min-width:1100px) and (max-width:1439px){
  .home-body .lower{min-height:0!important}
  .home-body .card{min-height:188px!important}
  .home-body .side{margin-top:54px!important;min-height:188px!important;padding:9px!important}
  .home-body .side-box{padding:11px 12px!important}
  .home-body .echo-box .echo-inline{grid-template-columns:56px 1fr!important;gap:9px!important}
  .home-body .echo-box .echo-inline img{width:52px!important}
}

@media (min-width:1800px) and (min-height:900px){
  .home-body .lower{min-height:0!important}
  .home-body .card{min-height:218px!important}
  .home-body .side{margin-top:56px!important;min-height:218px!important;padding:12px!important}
  .home-body .side-box{padding:15px 17px!important}
  .home-body .echo-box .echo-inline{grid-template-columns:68px 1fr!important}
  .home-body .echo-box .echo-inline img{width:64px!important}
}

@media (min-width:721px) and (max-width:1099px){
  .home-body .lower{min-height:0!important}
  .home-body .cards{min-height:0!important}
  .home-body .card{min-height:176px!important}
  .home-body .side{
    margin-top:12px!important;
    padding:10px!important;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(116,128,108,.045);
    gap:0!important;
  }
  .home-body .side-box{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:13px!important;
  }
  .home-body .side-box + .side-box{border-left:1px solid var(--line)!important}
}

@media (max-width:720px){
  .home-body .lower{min-height:0!important}
  .home-body .cards{min-height:0!important}
  .home-body .card{min-height:0!important}
  .home-body .side{
    padding:8px!important;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(116,128,108,.045);
    gap:0!important;
  }
  .home-body .side-box{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:14px 12px!important;
  }
  .home-body .side-box + .side-box{
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
}


/* HF WEB v3.0.6 | Original portrait integration.
   Uses the unedited user-supplied PNG (no retouch, cutout or generated face).
   The source image remains intact; only the browser's photo frame adapts. */
.home-body .hero-art>.portrait{
  width:min(88%,600px)!important;
  height:auto!important;
  max-width:88%!important;
  max-height:calc(100% - 12px)!important;
  aspect-ratio:3/2;
  object-fit:cover!important;
  object-position:center center!important;
  border:1px solid rgba(70,57,41,.13);
  border-radius:15px;
  box-shadow:0 16px 34px rgba(38,31,24,.11);
}
.home-body .hero-note{
  background:rgba(251,248,242,.89);
  border:1px solid rgba(70,57,41,.07);
  border-radius:12px;
  padding:8px;
  box-shadow:0 7px 22px rgba(38,31,24,.06);
}
@media (min-width:721px) and (max-width:1099px){
  .home-body .hero-art>.portrait{
    width:100%!important;
    height:min(400px,100%)!important;
    max-width:100%!important;
    max-height:100%!important;
    aspect-ratio:auto;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .home-body .hero-note{right:2%!important;top:7%!important;transform:none!important;width:112px!important;min-width:0!important}
}
@media (max-width:720px){
  .home-body .hero-art{overflow:hidden!important;border-radius:15px}
  .home-body .hero-art>.portrait{
    width:100%!important;
    height:330px!important;
    max-width:100%!important;
    max-height:330px!important;
    aspect-ratio:auto;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:14px;
  }
  .home-body .hero-note{
    width:103px!important;
    min-width:0!important;
    max-width:103px!important;
    right:9px!important;
    top:12px!important;
    transform:none!important;
    padding:5px;
  }
}
