/*
Theme Name: Gerardo Ramos — Profile
Theme URI: https://gerardoramos.com/
Author: Gerardo Ramos
Author URI: https://gerardoramos.com/
Description: A dark, minimal, luxury one-page profile theme for Gerardo Ramos — Architect, Real Estate Development & Management. Trilingual (EN/ES/JA), animated hero, discipline grid, brand showcase, and a working contact form.
Version: 1.2.0
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gerardo-ramos
Tags: one-page, dark, portfolio, minimal, custom-colors, translation-ready
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --bg:#050506;
  --bg-panel:#0d0e10;
  --bg-panel-2:#141517;
  --line:rgba(201,168,102,.18);
  --line-soft:rgba(255,255,255,.065);
  --text:#ece8df;
  --text-dim:#9aa3a1;
  --text-faint:#6b7573;
  --gold:#c9a866;
  --gold-lt:#e8d5a6;
  --gold-soft:#a98d5b;
  --ease:cubic-bezier(.22,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --nav-h:88px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  font-weight:300;
  line-height:1.72;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
/* fine film grain over the whole page */
body::after{
  content:'';position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}
::selection{background:var(--gold);color:#050506;}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px;}

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:#050506;}
::-webkit-scrollbar-thumb{background:#23252a;border:2px solid #050506;border-radius:10px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold-soft);}

.wrap{max-width:1180px;margin:0 auto;padding:0 48px;}
section{padding:clamp(90px,11vw,150px) 0;border-bottom:1px solid var(--line-soft);position:relative;scroll-margin-top:var(--nav-h);}
section:last-of-type{border-bottom:none;}

.eyebrow{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);font-weight:500;
}

/* gold shimmer on italic accents */
h1 em,h2 em{
  font-style:italic;
  background:linear-gradient(100deg,var(--gold-soft) 0%,var(--gold-lt) 30%,var(--gold) 52%,var(--gold-lt) 74%,var(--gold-soft) 100%);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shimmer 9s linear infinite;
}
@keyframes shimmer{0%{background-position:0 0;}100%{background-position:250% 0;}}

/* ============================================================
   MOTION PRIMITIVES
   ============================================================ */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .95s var(--ease-out),transform .95s var(--ease-out);
  transition-delay:var(--d,0ms);
}
.reveal.in{opacity:1;transform:none;}

@keyframes rise{to{opacity:1;transform:none;}}
@keyframes sweep{0%{left:-140%;}100%{left:140%;}}

/* reusable light sweep */
.sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4;border-radius:inherit;}
.sheen::after{
  content:'';position:absolute;top:-20%;left:-140%;width:55%;height:140%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);
}
.has-sheen:hover .sheen::after{animation:sweep 1.1s var(--ease-out);}

/* ============================================================
   NAV
   ============================================================ */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(5,5,6,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .45s var(--ease),border-color .45s var(--ease);
}
header.nav.scrolled{background:rgba(5,5,6,.94);border-bottom-color:var(--line-soft);}
.nav-inner{
  max-width:1180px;margin:0 auto;padding:24px 48px;
  display:flex;justify-content:space-between;align-items:center;
  transition:padding .45s var(--ease);
}
header.nav.scrolled .nav-inner{padding-top:15px;padding-bottom:15px;}
.nav-logo{display:flex;align-items:center;gap:14px;}
.nav-logo img{height:30px;width:auto;display:block;transition:height .45s var(--ease),transform .6s var(--ease);}
header.nav.scrolled .nav-logo img{height:25px;}
.nav-logo:hover img{transform:rotate(-6deg) scale(1.06);}
.nav-name{font-family:'Cormorant Garamond',serif;font-size:21px;letter-spacing:.05em;white-space:nowrap;}
.nav-name em{font-style:italic;color:var(--gold);}
.nav-links{display:flex;gap:38px;list-style:none;}
.nav-links a{
  position:relative;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-dim);transition:color .3s var(--ease);padding-bottom:4px;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--gold-lt));
  transition:width .45s var(--ease);
}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
@media(max-width:820px){.nav-links{display:none;}}
.nav-right{display:flex;align-items:center;gap:26px;}
.lang-switch{display:flex;align-items:center;gap:1px;}
.lang-switch a{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);
  padding:5px 9px;border:1px solid transparent;line-height:1;
  transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}
.lang-switch a:hover{color:var(--gold);}
.lang-switch a[aria-current="true"]{color:var(--gold);border-color:var(--line);}
@media(max-width:600px){.lang-switch a{padding:5px 6px;font-size:9.5px;}}

/* ============================================================
   JAPANESE TYPOGRAPHY
   ============================================================ */
body.lang-ja{font-family:'Noto Sans JP','Inter',system-ui,sans-serif;line-height:1.9;letter-spacing:.015em;}
body.lang-ja h1,body.lang-ja h2,body.lang-ja h3,body.lang-ja .nav-name,body.lang-ja .sec-num{
  font-family:'Noto Serif JP','Cormorant Garamond',Georgia,serif;
}
body.lang-ja h1 em,body.lang-ja h2 em{font-style:normal;}
body.lang-ja .head h2{font-size:clamp(27px,3.5vw,41px);line-height:1.38;}
body.lang-ja .contact h2{font-size:clamp(29px,4.8vw,52px);line-height:1.32;}
body.lang-ja .eyebrow{letter-spacing:.16em;}
body.lang-ja .exp-role h3{font-size:25px;}
body.lang-ja .practice-item h3{font-size:20px;}
body.lang-ja .edu-list h3{font-size:17.5px;}
body.lang-ja .portrait-caption,body.lang-ja .scroll-cue{letter-spacing:.16em;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;z-index:2;overflow:visible;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding-top:calc(var(--nav-h) + 40px);padding-bottom:110px;
  border-bottom:1px solid var(--line-soft);
  background:
    radial-gradient(ellipse 65% 55% at 72% 42%, rgba(255,255,255,.038), transparent 62%),
    var(--bg);
}
.hero-watermark{
  position:absolute;top:50%;left:-90px;width:min(620px,60vw);
  transform:translateY(-50%);opacity:.032;pointer-events:none;z-index:0;
  animation:drift 22s ease-in-out infinite;
}
@keyframes drift{
  0%,100%{transform:translateY(-50%) rotate(0deg);}
  50%{transform:translateY(-53%) rotate(3deg);}
}
.hero .wrap{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center;
}
.hero-text > *{opacity:0;transform:translateY(26px);animation:rise 1s var(--ease-out) forwards;}
.hero-text > *:nth-child(1){animation-delay:.12s;}
.hero-text > *:nth-child(2){animation-delay:.24s;}
.hero-text > *:nth-child(3){animation-delay:.36s;}
.hero-text > *:nth-child(4){animation-delay:.48s;}
.hero-text > *:nth-child(5){animation-delay:.60s;}
.hero-text > *:nth-child(6){animation-delay:.72s;}

.hero-rule{width:0;height:1px;background:var(--gold);margin-bottom:30px;animation:growline 1.1s var(--ease-out) .45s forwards;}
@keyframes growline{to{width:56px;}}
.hero h1{font-size:clamp(50px,8.2vw,100px);line-height:.98;letter-spacing:-.015em;margin-bottom:20px;}
.hero .hero-role{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;
  font-size:clamp(21px,2.35vw,30px);line-height:1.34;color:var(--text);
  letter-spacing:.005em;margin-bottom:18px;max-width:620px;
}
.hero .hero-role .sep{color:var(--gold);margin:0 12px;font-style:normal;}
.hero p.lead{
  font-size:clamp(13.5px,1.25vw,16px);color:var(--text-dim);max-width:560px;
  font-weight:300;letter-spacing:.035em;line-height:1.7;margin-bottom:44px;
}
body.lang-ja .hero .hero-role{font-size:clamp(19px,2vw,26px);line-height:1.5;}
body.lang-ja .hero .hero-role .sep{margin:0 6px;}
.hero-meta{display:flex;gap:0;flex-wrap:wrap;}
.hero-meta div{
  border-left:1px solid var(--line);padding:2px 30px 2px 18px;
  transition:border-color .4s var(--ease);
}
.hero-meta div:hover{border-left-color:var(--gold);}
.hero-meta .k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-bottom:7px;}
.hero-meta .v{font-size:14.5px;color:var(--text);}

.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:12px;
  border:1px solid var(--gold-soft);color:var(--gold);background:transparent;
  padding:16px 34px;font-family:'Inter',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  transition:color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
  margin-top:48px;width:fit-content;
}
.btn > span:not(.sheen){position:relative;z-index:2;}
.btn::before{
  content:'';position:absolute;inset:0;background:linear-gradient(100deg,var(--gold),var(--gold-lt));
  transform:translateY(101%);transition:transform .5s var(--ease-out);z-index:1;
}
.btn:hover{color:#050506;border-color:var(--gold);box-shadow:0 18px 40px -22px rgba(201,168,102,.8);}
.btn:hover::before{transform:translateY(0);}
.btn .arw{transition:transform .45s var(--ease);}
.btn:hover .arw{transform:translateX(5px);}

/* PORTRAIT */
.hero-portrait{position:relative;align-self:end;display:flex;flex-direction:column;align-items:center;
  opacity:0;transform:translateY(30px);animation:rise 1.15s var(--ease-out) .4s forwards;}
/* free-floating figure on black — no frame, no glow */
.portrait-stage{
  position:relative;width:min(400px,86vw);
  /* pulled down through the hero's bottom edge into the section below */
  margin-bottom:-190px;
}
/* neutral depth behind the figure so it doesn't sit flat on the black */
.portrait-stage::before{
  content:'';position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:128%;height:112%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.045) 0%,rgba(255,255,255,.015) 38%,transparent 68%);
  filter:blur(14px);
}
.portrait-photo{
  position:relative;z-index:2;display:block;
  width:100%;height:auto;/* width/height attrs must never distort the figure */
  filter:contrast(1.06) brightness(1.02) drop-shadow(0 30px 50px rgba(0,0,0,.75));
  transition:transform .9s var(--ease-out),filter .6s var(--ease);
}
.portrait-stage:hover .portrait-photo{
  transform:translateY(-7px) scale(1.02);
  filter:contrast(1.1) brightness(1.05) drop-shadow(0 40px 60px rgba(0,0,0,.8));
}

.corner{position:absolute;width:24px;height:24px;transition:width .5s var(--ease),height .5s var(--ease),opacity .5s var(--ease);pointer-events:none;z-index:5;}
.corner.tl{top:-1px;left:-1px;border-top:1px solid var(--gold);border-left:1px solid var(--gold);}
.corner.tr{top:-1px;right:-1px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);}
.corner.bl{bottom:-1px;left:-1px;border-bottom:1px solid var(--gold);border-left:1px solid var(--gold);}
.corner.br{bottom:-1px;right:-1px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);}

/* scroll cue */
.scroll-cue{
  position:absolute;bottom:34px;left:48px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint);
  opacity:0;animation:rise 1s var(--ease-out) 1.2s forwards;
}
.scroll-cue i{display:block;width:1px;height:56px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden;}
.scroll-cue i::after{content:'';position:absolute;top:-56px;left:0;width:1px;height:56px;background:linear-gradient(transparent,var(--gold-lt));animation:cue 2.6s var(--ease-out) infinite;}
@keyframes cue{0%{top:-56px;}60%,100%{top:56px;}}

@media(max-width:940px){
  .hero .wrap{grid-template-columns:1fr;gap:44px;}
  .hero-portrait{order:-1;align-self:center;}
  .portrait-stage{width:min(270px,68vw);margin-bottom:-40px;}
  .scroll-cue{display:none;}
}

/* ============================================================
   SECTION HEAD
   ============================================================ */
.head{position:relative;margin-bottom:70px;}
.head > .eyebrow,.head > h2,.head > .rule{position:relative;z-index:1;}
.head h2{font-size:clamp(34px,4.4vw,50px);margin-top:16px;line-height:1.12;letter-spacing:-.01em;}
.head .rule{width:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin-top:26px;transition:width 1.3s var(--ease-out) .25s;}
.head.in .rule{width:200px;}

/* oversized ghost numeral straddling the section boundary above */
.sec-num{
  position:absolute;z-index:0;left:-6px;top:clamp(-165px,-12vw,-100px);
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:clamp(110px,15vw,220px);line-height:.78;letter-spacing:-.03em;
  color:rgba(236,232,223,.022);
  -webkit-text-stroke:1px rgba(236,232,223,.155);
  pointer-events:none;user-select:none;-webkit-user-select:none;
  opacity:0;transform:translateY(26px);
  transition:opacity 1.2s var(--ease-out) .15s,transform 1.2s var(--ease-out) .15s;
}
.head.in .sec-num{opacity:1;transform:none;}
@media(max-width:700px){.sec-num{left:-2px;top:-74px;font-size:92px;}}

/* ============================================================
   ABOUT
   ============================================================ */
#about{padding-top:clamp(120px,13vw,190px);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;}
.about-grid p{color:var(--text-dim);font-size:16.5px;}
.about-grid p:nth-child(2){margin-top:46px;}
@media(max-width:820px){.about-grid p:nth-child(2){margin-top:0;}}
.about-grid p::first-letter{color:var(--gold);}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:26px;}}

/* ============================================================
   EXPERIENCE
   ============================================================ */
.exp-item{
  position:relative;display:grid;grid-template-columns:300px 1fr;gap:56px;
  padding:44px 0;border-top:1px solid var(--line-soft);
  transition:padding-left .5s var(--ease);
}
.exp-item::before{
  content:'';position:absolute;top:-1px;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);transition:width .7s var(--ease);
}
.exp-item:hover::before{width:100%;}
.exp-item:hover{padding-left:14px;}
.exp-item:last-child{border-bottom:1px solid var(--line-soft);}
.exp-role h3{font-size:29px;margin-bottom:8px;}
.exp-role .company{color:var(--gold);font-size:13px;letter-spacing:.06em;}
.exp-detail ul{list-style:none;}
.exp-detail li{color:var(--text-dim);font-size:15px;padding:7px 0 7px 26px;position:relative;transition:color .35s var(--ease);}
.exp-detail li::before{content:'';position:absolute;left:0;top:19px;width:12px;height:1px;background:var(--gold-soft);transition:width .4s var(--ease),background .4s var(--ease);}
.exp-detail li:hover{color:var(--text);}
.exp-detail li:hover::before{width:18px;background:var(--gold);}
@media(max-width:820px){.exp-item{grid-template-columns:1fr;gap:16px;}}

/* ============================================================
   PRACTICE
   ============================================================ */
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.practice-item{
  position:relative;overflow:hidden;min-height:300px;
  padding:34px 34px 36px;display:flex;flex-direction:column;justify-content:flex-end;
  background-color:var(--bg-panel);background-repeat:repeat;
  transition:background-color .5s var(--ease);
}
.practice-item .scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(190deg,rgba(5,5,6,.4) 0%,rgba(5,5,6,.78) 55%,rgba(5,5,6,.96) 100%);
  transition:background .5s var(--ease);
}
.practice-item .glow{
  position:absolute;width:340px;height:340px;left:50%;top:35%;z-index:0;
  transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;
  background:radial-gradient(circle,rgba(201,168,102,.32),transparent 70%);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
}
.practice-item:hover{background-color:var(--bg-panel-2);}
.practice-item:hover .scrim{background:linear-gradient(190deg,rgba(5,5,6,.18) 0%,rgba(5,5,6,.6) 55%,rgba(5,5,6,.9) 100%);}
.practice-item:hover .glow{opacity:1;transform:translate(-50%,-50%) scale(1);}
.practice-item .icon,.practice-item h3,.practice-item p{position:relative;z-index:2;}
.practice-item .icon{margin-bottom:22px;height:32px;display:flex;align-items:center;}
.practice-item .icon svg{width:30px;height:30px;stroke:var(--gold-soft);fill:none;stroke-width:1.05;transition:stroke .45s var(--ease),transform .55s var(--ease);}
.practice-item:hover .icon svg{stroke:var(--gold-lt);transform:translateY(-3px) scale(1.06);}
.practice-item h3{font-size:23px;margin-bottom:11px;font-weight:500;letter-spacing:.01em;}
.practice-item p{color:var(--text-dim);font-size:14px;line-height:1.62;}
@media(max-width:900px){.practice-grid{grid-template-columns:1fr;}}

/* shared texture set */
.bg-architecture{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M0 24H120M0 48H120M0 72H120M0 96H120M24 0V120M48 0V120M72 0V120M96 0V120' stroke='%23c9a866' stroke-opacity='0.22' stroke-width='0.6'/%3E%3C/svg%3E");background-size:120px 120px;}
.bg-realestate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Ccircle cx='35' cy='35' r='24' stroke='%23c9a866' stroke-opacity='0.2' stroke-width='0.7' fill='none'/%3E%3Ccircle cx='105' cy='105' r='24' stroke='%23c9a866' stroke-opacity='0.2' stroke-width='0.7' fill='none'/%3E%3Ccircle cx='105' cy='35' r='16' stroke='%23c9a866' stroke-opacity='0.16' stroke-width='0.7' fill='none'/%3E%3C/svg%3E");background-size:140px 140px;}
.bg-projectmgmt{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Ccircle cx='80' cy='80' r='66' stroke='%23c9a866' stroke-opacity='0.16' stroke-width='0.7' fill='none'/%3E%3Ccircle cx='80' cy='80' r='44' stroke='%23c9a866' stroke-opacity='0.18' stroke-width='0.7' fill='none'/%3E%3Ccircle cx='80' cy='80' r='22' stroke='%23c9a866' stroke-opacity='0.22' stroke-width='0.7' fill='none'/%3E%3C/svg%3E");background-size:220px 220px;background-position:center 30%;}
.bg-bizdev{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cpath d='M-10 110L110 -10M-10 80L80 -10M-10 50L50 -10M-10 20L20 -10' stroke='%23c9a866' stroke-opacity='0.2' stroke-width='0.7'/%3E%3C/svg%3E");background-size:100px 100px;}
.bg-digitalmkt{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath d='M20 140a120 120 0 0 1 120-120' stroke='%23c9a866' stroke-opacity='0.18' stroke-width='0.7' fill='none'/%3E%3Cpath d='M20 140a85 85 0 0 1 85-85' stroke='%23c9a866' stroke-opacity='0.2' stroke-width='0.7' fill='none'/%3E%3Cpath d='M20 140a50 50 0 0 1 50-50' stroke='%23c9a866' stroke-opacity='0.24' stroke-width='0.7' fill='none'/%3E%3C/svg%3E");background-size:260px 260px;background-position:-20px bottom;}
.bg-branding{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cpath d='M0 0L70 70M70 0L0 70' stroke='%23c9a866' stroke-opacity='0.16' stroke-width='0.6'/%3E%3C/svg%3E");background-size:70px 70px;}

/* ============================================================
   EDUCATION
   ============================================================ */
.edu-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;}
.edu-list li{position:relative;list-style:none;padding:26px 0;border-top:1px solid var(--line-soft);transition:padding-left .45s var(--ease);}
.edu-list li:last-child{border-bottom:1px solid var(--line-soft);}
.edu-list li:hover{padding-left:12px;}
.edu-list h3{font-size:19.5px;margin-bottom:5px;font-weight:500;font-family:'Inter',sans-serif;letter-spacing:-.005em;}
.edu-list .school{color:var(--gold);font-size:13px;letter-spacing:.03em;}
.side-block{margin-bottom:54px;}
.side-block h4{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-faint);margin-bottom:20px;}
.lang-row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line-soft);font-size:14px;transition:color .35s var(--ease);}
.lang-row:hover{color:var(--gold);}
.lang-row span:last-child{color:var(--text-dim);}
.tag-pill{
  display:inline-block;border:1px solid var(--line);color:var(--text-dim);
  font-size:12.5px;letter-spacing:.03em;padding:9px 17px;margin:4px 6px 0 0;
  transition:border-color .4s var(--ease),color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);
}
.tag-pill:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(201,168,102,.7);}
@media(max-width:820px){.edu-grid{grid-template-columns:1fr;gap:40px;}}

/* ============================================================
   BRANDS
   ============================================================ */
.brands-note{color:var(--text-dim);font-size:16.5px;max-width:680px;margin-bottom:62px;}
.brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.brand-item{
  position:relative;overflow:hidden;min-height:270px;
  display:flex;align-items:center;justify-content:center;padding:34px;
  background-color:var(--bg-panel);border:1px solid var(--line-soft);
  transition:border-color .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease);
}
.brand-item .scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(160deg,rgba(5,5,6,.6),rgba(5,5,6,.88));
  transition:background .5s var(--ease);
}
.brand-item .glow{
  position:absolute;width:280px;height:280px;left:50%;top:50%;z-index:0;
  transform:translate(-50%,-50%) scale(.55);opacity:0;pointer-events:none;
  background:radial-gradient(circle,rgba(201,168,102,.42),transparent 70%);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.brand-item:hover{border-color:var(--gold-soft);transform:translateY(-7px);box-shadow:0 40px 70px -40px rgba(0,0,0,.9),0 0 0 1px rgba(201,168,102,.1);}
.brand-item:hover .scrim{background:linear-gradient(160deg,rgba(5,5,6,.22),rgba(5,5,6,.55));}
.brand-item:hover .glow{opacity:1;transform:translate(-50%,-50%) scale(1);}
.brand-item img{
  position:relative;z-index:2;
  max-height:min(140px,14vw);max-width:84%;width:auto;object-fit:contain;
  opacity:.84;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));
  transition:opacity .5s var(--ease),transform .6s var(--ease);
}
.brand-item:hover img{opacity:1;transform:scale(1.08) rotate(-1deg);}
.brand-item .corner{opacity:.45;z-index:5;}
.brand-item .corner.tl{top:0;left:0;}
.brand-item .corner.tr{top:0;right:0;}
.brand-item .corner.bl{bottom:0;left:0;}
.brand-item .corner.br{bottom:0;right:0;}
.brand-item:hover .corner{opacity:1;width:30px;height:30px;}
@media(max-width:900px){.brands-grid{grid-template-columns:repeat(2,1fr);gap:18px;}}
@media(max-width:520px){.brands-grid{grid-template-columns:1fr;} .brand-item{min-height:220px;} .brand-item img{max-height:120px;}}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{text-align:center;}
.contact .eyebrow{display:flex;justify-content:center;}
.contact h2{font-size:clamp(36px,6.2vw,66px);max-width:840px;margin:18px auto 56px;line-height:1.08;letter-spacing:-.015em;}
form{max-width:580px;margin:0 auto;text-align:left;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.field{position:relative;margin-bottom:24px;}
.form-row .field{margin-bottom:0;}
.field input,.field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--text);font-family:'Inter',sans-serif;font-size:15px;padding:13px 2px;font-weight:300;
  transition:border-color .4s var(--ease);
}
.field textarea{resize:none;display:block;}
.field input::placeholder,.field textarea::placeholder{color:var(--text-faint);transition:color .35s var(--ease),transform .35s var(--ease);}
.field input:focus::placeholder,.field textarea:focus::placeholder{color:var(--gold-soft);}
.field input:focus,.field textarea:focus{outline:none;}
.field .bar{position:absolute;left:0;bottom:0;height:1px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-lt));transition:width .55s var(--ease-out);}
.field input:focus ~ .bar,.field textarea:focus ~ .bar{width:100%;}
.contact-wrap{display:flex;justify-content:center;}
.contact .btn{margin:26px auto 0;}
@media(max-width:620px){.form-row{grid-template-columns:1fr;gap:0;margin-bottom:0;} .form-row .field{margin-bottom:24px;}}

/* ============================================================
   FOOTER
   ============================================================ */
footer{padding:56px 0 46px;text-align:center;position:relative;}
.footer-seal{width:30px;opacity:.55;display:block;margin:0 auto 26px;transition:opacity .5s var(--ease),transform .7s var(--ease);}
.footer-seal:hover{opacity:1;transform:rotate(8deg) scale(1.1);}
footer .wrap{display:flex;justify-content:space-between;align-items:center;}
footer p{color:var(--text-faint);font-size:11.5px;letter-spacing:.08em;}
footer a{position:relative;color:var(--text-dim);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding-bottom:3px;transition:color .35s var(--ease);}
footer a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--line-soft);transition:background .4s var(--ease);}
footer a:hover{color:var(--gold);}
footer a:hover::after{background:var(--gold);}
@media(max-width:820px){footer .wrap{flex-direction:column;gap:16px;}}

@media(max-width:600px){.wrap{padding:0 26px;} .nav-inner{padding-left:26px;padding-right:26px;}}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
  .reveal,.hero-text > *,.hero-portrait,.scroll-cue{opacity:1!important;transform:none!important;}
}

/* ============================================================
   WORDPRESS CONTACT FORM STATES
   ============================================================ */
.grx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-note{
  max-width:580px;margin:0 auto 34px;padding:16px 22px;text-align:left;
  font-size:13.5px;letter-spacing:.02em;border:1px solid var(--line-soft);
  background:var(--bg-panel);
}
.form-note.ok{border-color:var(--gold-soft);color:var(--gold-lt);}
.form-note.bad{border-color:rgba(200,90,80,.5);color:#e0a49c;}

/* WordPress admin bar offset */
body.admin-bar header.nav{top:32px;}
@media screen and (max-width:782px){body.admin-bar header.nav{top:46px;}}

/* WordPress core alignment/caption classes */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;
}
.alignleft{float:left;margin-right:1.5em;}
.alignright{float:right;margin-left:1.5em;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}

/* WordPress injects width/height attributes on images — never let them distort */
.portrait-photo,
.brand-item img,
.nav-logo img,
.footer-seal,
.hero-watermark{max-width:100%;}
.portrait-photo{width:100%!important;height:auto!important;}
.brand-item img{width:auto;height:auto;}
.wp-post-image,.attachment-post-thumbnail{height:auto;}
