:root{
  --bg:#07090D; --bg-2:#0D1118; --card:#111722;
  --text:#F5F2EA; --muted:#A6AEBC;
  --gold:#D2B67E; --gold-dim: rgba(210,182,126,.6);
  --border: rgba(242,239,230,0.09); --border-strong: rgba(242,239,230,0.18);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--text); font-family:'Work Sans',sans-serif; font-weight:300; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; cursor:default;}
h1,h2,h3,.logotype{font-family:'Cormorant Garamond',serif; font-weight:500; color:var(--text); letter-spacing:.01em;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
section{padding:130px 0;}
@media(max-width:700px){section{padding:76px 0;} .wrap{padding:0 22px;}}
.kicker{font-size:12.5px; letter-spacing:.22em; color:var(--gold); margin-bottom:18px; text-transform:uppercase; font-weight:500;}
.section-head{max-width:620px; margin:0 auto 60px;}
.section-head h2{font-size:clamp(30px,3.6vw,42px);}

/* reveal */
[data-reveal]{opacity:0; transform:translateY(26px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);}
[data-reveal].in{opacity:1; transform:translateY(0);}
@media(prefers-reduced-motion:reduce){ [data-reveal]{opacity:1; transform:none; transition:none;} *{animation:none !important; transition-duration:.01ms !important;} .signature rect{opacity:1;} .signature .connector{stroke-dashoffset:0;} .it-tr{opacity:1;} }

/* scroll progress */
.progress{position:fixed; top:0; left:0; height:2px; background:var(--gold); z-index:200; width:0%; transition:width .1s linear;}

/* header */
header{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(7,9,13,.5); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); transition:background .3s, border-color .3s;}
header.scrolled{background:rgba(7,9,13,.86); border-color:var(--border-strong);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:22px 0;}
.brand{display:flex; align-items:center; gap:12px; line-height:1;}
.brand-mark{height:36px; width:auto; display:block; filter:drop-shadow(0 2px 10px rgba(0,0,0,.4));}
.brand-text{display:flex; flex-direction:column; line-height:1;}
.brand .logotype{font-size:22px; letter-spacing:.16em;}
.brand small{font-size:9px; letter-spacing:.22em; color:var(--muted); margin-top:4px;}
nav.links{display:flex; gap:28px; font-size:12.5px; letter-spacing:.05em; font-weight:400;}
nav.links a{position:relative; padding:4px 0; color:var(--muted); transition:color .25s;}
nav.links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--gold); transition:width .3s;}
nav.links a:hover, nav.links a.active{color:var(--text);}
nav.links a:hover::after, nav.links a.active::after{width:100%;}
.nav-right{display:flex; align-items:center; gap:22px;}
.langs{display:flex; gap:6px; font-size:11.5px; color:var(--muted);}
.langs a{background:none; border:none; font:inherit; cursor:pointer; padding:2px 4px; color:var(--muted); letter-spacing:.06em; transition:color .2s;}
.langs a:hover{color:var(--text);}
.langs a.active{color:var(--gold); font-weight:500;}
.cta-small{border-bottom:1.5px solid var(--gold); color:var(--gold); padding:4px 0; font-size:11.5px; letter-spacing:.09em; white-space:nowrap; font-weight:500; transition:opacity .2s;}
.cta-small:hover{opacity:.8;}
.burger{display:none; width:22px; height:16px; position:relative; background:none; border:none; cursor:pointer; z-index:110;}
.burger span{position:absolute; left:0; width:100%; height:1px; background:var(--text); transition:transform .3s, opacity .3s, top .3s;}
.burger span:nth-child(1){top:0;} .burger span:nth-child(2){top:7px;} .burger span:nth-child(3){top:14px;}
.burger.open span:nth-child(1){top:7px; transform:rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){top:7px; transform:rotate(-45deg);}
@media(max-width:960px){
  nav.links{position:fixed; inset:0; background:#0a0d13; flex-direction:column; justify-content:center; align-items:flex-start; gap:22px; padding:0 40px; font-size:20px; opacity:0; pointer-events:none; transition:opacity .4s;}
  nav.links.open{opacity:1; pointer-events:auto;}
  nav.links a{opacity:0; transform:translateY(10px); transition:opacity .4s, transform .4s;}
  nav.links.open a{opacity:1; transform:translateY(0);}
  nav.links.open a:nth-child(1){transition-delay:.05s;} nav.links.open a:nth-child(2){transition-delay:.1s;}
  nav.links.open a:nth-child(3){transition-delay:.15s;} nav.links.open a:nth-child(4){transition-delay:.2s;}
  nav.links.open a:nth-child(5){transition-delay:.25s;} nav.links.open a:nth-child(6){transition-delay:.3s;}
  nav.links.open a:nth-child(7){transition-delay:.35s;}
  .cta-small{display:none;}
  .burger{display:block;}
}

/* hero */
.hero{position:relative; overflow:hidden; padding:210px 0 150px; background:var(--bg);}
.hero::before{content:""; position:absolute; inset:0; background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px); background-size:70px 70px; opacity:.3; animation:gridDrift 70s linear infinite;}
@keyframes gridDrift{from{background-position:0 0;} to{background-position:70px 140px;}}
.hero .wrap{position:relative; z-index:2;}
.hero .eyebrow{font-size:13px; letter-spacing:.26em; color:var(--gold); margin-bottom:30px; text-transform:uppercase; font-weight:500;}
.hero h1{font-size:clamp(42px,5.9vw,72px); line-height:1.12; max-width:16.5ch; font-weight:600;}
.hero h1 span{display:block; opacity:0; transform:translateY(24px); animation:lineUp .9s cubic-bezier(.2,.7,.2,1) forwards;}
.hero h1 span:nth-child(2){animation-delay:.15s;}
@keyframes lineUp{to{opacity:1; transform:translateY(0);}}
.hero p.lead{max-width:44ch; margin:30px 0 44px; font-size:17px; color:var(--muted);}
.hero .ctas{display:flex; align-items:center; gap:40px; flex-wrap:wrap;}
.link-cta{position:relative; font-size:13.5px; letter-spacing:.09em; padding-bottom:6px; border-bottom:1.5px solid var(--border-strong); transition:border-color .3s, color .3s; font-weight:500;}
.link-cta.primary{color:var(--gold); border-color:var(--gold-dim);}
.link-cta:hover{border-color:var(--gold); color:var(--gold);}
.signature{position:absolute; right:4%; top:50%; transform:translateY(-50%); width:32%; max-width:380px; opacity:.55; z-index:1; pointer-events:none;}
.signature rect{opacity:0; animation:planeFade 1.2s ease forwards .3s;}
.signature .connector{stroke-dasharray:75; stroke-dashoffset:75; animation:drawLine 1.3s cubic-bezier(.2,.7,.2,1) forwards 1.15s;}
@keyframes planeFade{to{opacity:1;}}
@keyframes drawLine{to{stroke-dashoffset:0;}}
@media(max-width:960px){.signature{opacity:.22; width:60%; right:8%;}}

/* pillars / why itrea */
.pillars{background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.pillar-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.pillar{padding:50px 32px; border-left:1px solid var(--border); transition:background .3s;}
.pillar:first-child{border-left:none;}
.pillar:hover{background:rgba(198,165,107,.04);}
.pillar .num{font-family:'Cormorant Garamond',serif; color:var(--gold); font-size:15px; margin-bottom:16px;}
.pillar h3{font-size:19px; margin-bottom:10px; letter-spacing:.02em; font-weight:600;}
.pillar p{font-size:13.5px; color:var(--muted);}
@media(max-width:820px){.pillar-grid{grid-template-columns:1fr 1fr;} .pillar:nth-child(3){border-left:none;}}
@media(max-width:520px){.pillar-grid{grid-template-columns:1fr;} .pillar{border-left:none; border-top:1px solid var(--border);} .pillar:first-child{border-top:none;}}

/* about */
.about .wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
.about h2{font-size:clamp(28px,3.4vw,38px); margin-bottom:22px; max-width:14ch;}
.about p{color:var(--muted); max-width:52ch; margin-bottom:16px;}
.statement{border-left:1px solid var(--gold); padding-left:28px;}
.statement p{font-family:'Cormorant Garamond',serif; font-size:23px; color:var(--gold); line-height:1.55;}
@media(max-width:820px){.about .wrap{grid-template-columns:1fr; gap:34px;}}

/* approach */
.approach{background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.approach-line{display:flex; position:relative; margin-top:30px;}
.approach-line::before{content:""; position:absolute; top:16px; left:0; right:0; height:1px; background:var(--border-strong);}
.step{flex:1; padding-right:28px; position:relative;}
.step .dot{width:9px; height:9px; border-radius:50%; background:var(--bg-2); border:1px solid var(--gold); margin-bottom:22px; position:relative; z-index:2; transition:background .4s;}
.step.in .dot{background:var(--gold);}
.step .num{font-family:'Cormorant Garamond',serif; color:var(--gold); font-size:14px; margin-bottom:8px;}
.step h3{font-size:17px; margin-bottom:8px; letter-spacing:.03em;}
.step p{font-size:13.5px; color:var(--muted); max-width:26ch;}
@media(max-width:820px){.approach-line{flex-direction:column; gap:36px;} .approach-line::before{display:none;} .step{padding-right:0; padding-left:22px; border-left:1px solid var(--border-strong);} .step .dot{position:absolute; left:-5px; top:2px;}}

/* services */
.services{background:var(--bg);}
.svc-rows{border-top:1px solid var(--border);}
.svc-row{display:grid; grid-template-columns:70px 1fr 1.3fr; gap:28px; align-items:center; padding:30px 4px; border-bottom:1px solid var(--border); transition:background .35s, padding-left .35s;}
.svc-row:hover{background:rgba(198,165,107,.03); padding-left:16px;}
.svc-row .num{font-family:'Cormorant Garamond',serif; color:var(--gold); font-size:16px;}
.svc-row h3{font-size:20px; letter-spacing:.02em; font-weight:600;}.svc-description{font-size:13px; line-height:1.75; color:var(--muted); max-width:44ch;}
.svc-row ul{list-style:none; font-size:13px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px 18px;}
.svc-row ul li{position:relative; padding-left:12px;}
.svc-row ul li::before{content:"—"; position:absolute; left:0; color:var(--gold-dim);}
@media(max-width:820px){.svc-row{grid-template-columns:40px 1fr; row-gap:10px;} .svc-row .svc-description{grid-column:1/-1; max-width:48ch;}}

/* italy-turkiye */
.bridge-section{background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.it-tr{position:relative; padding:54px 0 8px;}
.section-lead{max-width:62ch; margin:16px auto 0; color:var(--muted); font-size:14px; line-height:1.8; text-align:center;}
.market-grid{display:grid; grid-template-columns:1fr 100px 1fr; align-items:start; gap:0; margin-top:54px;}
.market-panel{min-height:250px; border:1px solid var(--border-strong); padding:26px 28px; display:flex; flex-direction:column; justify-content:space-between; background:rgba(10,13,19,.26); opacity:.48; transition:opacity .8s ease, border-color .8s ease, transform .8s ease;}
.it-tr.active .market-panel{opacity:1; border-color:var(--border-strong);}
.market-panel.left{transform:translateY(0); align-items:flex-start;}
.market-panel.right{transform:translateY(54px); align-items:flex-start;}
.it-tr.active .market-panel.right{transform:translateY(54px);}
.panel-index{font-size:10px; letter-spacing:.16em; color:var(--gold);}
.market-panel-body{margin-top:auto; padding-top:62px;}
.market-panel h3{font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3.6vw,46px); letter-spacing:.02em; font-weight:500;}
.market-panel p{margin-top:12px; color:var(--muted); font-size:11.5px; letter-spacing:.12em; line-height:1.7; text-transform:uppercase; max-width:34ch;}
.connector-wrap{display:flex; align-items:center; justify-content:center; align-self:start; margin-top:124px; height:1px;}
.connector-line{width:0; height:1px; background:var(--gold); box-shadow:0 0 8px var(--gold-dim); transition:width 1.25s cubic-bezier(.2,.7,.2,1) .25s;}
.it-tr.active .connector-line{width:100%;}
.shared-scope{margin-top:82px; padding-top:22px; border-top:1px solid var(--border);}
.shared-scope-label{text-align:center; font-size:10.5px; color:var(--gold); letter-spacing:.18em; text-transform:uppercase; margin-bottom:18px;}
.it-labels{display:flex; justify-content:center; gap:34px; flex-wrap:wrap;}
.it-labels span{font-size:11.5px; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; opacity:0; transform:translateY(10px); transition:opacity .6s, transform .6s;}
.it-tr.active .it-labels span{opacity:1; transform:translateY(0);}
.it-tr.active .it-labels span:nth-child(1){transition-delay:1.1s;}
.it-tr.active .it-labels span:nth-child(2){transition-delay:1.25s;}
.it-tr.active .it-labels span:nth-child(3){transition-delay:1.4s;}
.it-tr.active .it-labels span:nth-child(4){transition-delay:1.55s;}
.it-tr.active .it-labels span:nth-child(5){transition-delay:1.7s;}
.it-tr.active .it-labels span:nth-child(6){transition-delay:1.85s;}
@media(max-width:700px){
  .market-grid{grid-template-columns:1fr; margin-top:40px;}
  .market-panel{min-height:190px;}
  .market-panel.right{transform:none;}
  .it-tr.active .market-panel.right{transform:none;}
  .market-panel-body{padding-top:38px;}
  .connector-wrap{margin:0 auto; width:60px; height:60px; align-items:center;}
  .connector-line{width:1px; height:0; transition:height 1.15s cubic-bezier(.2,.7,.2,1) .25s;}
  .it-tr.active .connector-line{width:1px; height:100%;}
  .shared-scope{margin-top:42px;}
  .it-labels{gap:12px 22px; text-align:center;}
}

/* investment */
.investment{background:var(--bg);}
.inv-grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--border); border-left:1px solid var(--border);}
.inv-panel{border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:46px 32px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between; transition:background .35s;}
.inv-panel:hover{background:var(--card);}
.inv-panel h3{font-size:20px; margin-bottom:14px;}
.inv-panel p{font-size:13.5px; color:var(--muted); margin-bottom:18px;}
.inv-panel .tags{font-size:11.5px; color:var(--muted); letter-spacing:.04em; margin-bottom:20px;}
.explore{font-size:12px; letter-spacing:.08em; color:var(--gold); opacity:0; transform:translateX(-6px); transition:opacity .3s, transform .3s;}
.inv-panel:hover .explore{opacity:1; transform:translateX(0);}
@media(max-width:900px){.inv-grid{grid-template-columns:1fr;} .inv-panel{border-right:none;}}

/* contact */
.contact{background:var(--bg);}
.contact .wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px;}
.contact h2{font-size:clamp(30px,4vw,42px); margin-bottom:18px;}
.contact p{color:var(--muted); max-width:36ch; margin-bottom:30px;}
.contact-info{font-size:14px; color:var(--muted); line-height:2.1;}
.contact-info strong{color:var(--text); font-weight:500;}
.contact-info .wa-link{display:inline-block; margin-top:10px; font-size:12.5px; color:var(--gold); border-bottom:1px solid var(--gold-dim);}
.form-intro{padding-bottom:6px; border-bottom:1px solid var(--border);}.form-intro .kicker{margin-bottom:8px;}.form-intro h3{font-size:22px; font-weight:500;}
form{display:grid; gap:18px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
input, select, textarea{background:transparent; border:none; border-bottom:1px solid var(--border-strong); color:var(--text); font-family:inherit; font-size:14.5px; padding:10px 2px; width:100%; transition:border-color .3s;}
input::placeholder, textarea::placeholder{color:#5b6270;}
select option{color:#111;}
input:focus, select:focus, textarea:focus{outline:none; border-bottom-color:var(--gold);}
textarea{resize:vertical; min-height:90px;}
form button{justify-self:start; margin-top:6px; background:none; border:none; border-bottom:1.5px solid var(--gold); color:var(--gold); font-size:13.5px; letter-spacing:.09em; padding:6px 0; cursor:pointer; font-weight:500; transition:opacity .2s;}
form button:hover{opacity:.8;}
@media(max-width:820px){.contact .wrap{grid-template-columns:1fr;} .row2{grid-template-columns:1fr;}}

/* footer */
footer{background:#05070a; color:var(--muted); padding:64px 0 30px; font-size:13px; border-top:1px solid var(--border);}
.foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; padding-bottom:34px; border-bottom:1px solid var(--border);}
.foot-brand{display:flex; align-items:flex-start; gap:14px;}
.foot-brand .brand-mark{height:42px; margin-top:2px;}
.foot-brand .logotype{color:var(--text); font-size:19px; letter-spacing:.14em;}
.foot-brand p{margin-top:10px; max-width:26ch; font-size:12.5px;}
.foot-links{display:flex; gap:60px; flex-wrap:wrap;}
.foot-links h4{color:var(--text); font-size:11px; letter-spacing:.14em; margin-bottom:14px; font-weight:500; text-transform:uppercase;}
.foot-links ul{list-style:none;}
.foot-links li{margin-bottom:9px;}
.foot-links a:hover{color:var(--gold);}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:22px; font-size:12px;}

/* whatsapp float */
.wa-float{position:fixed; right:20px; bottom:20px; z-index:60; display:flex; flex-direction:column; gap:8px; align-items:flex-end;}
.wa-btn{display:flex; align-items:center; gap:8px; background:var(--card); color:var(--text); padding:10px 16px; font-size:12px; letter-spacing:.03em; border:1px solid var(--gold-dim); box-shadow:0 10px 26px rgba(0,0,0,.4); transition:transform .2s, border-color .2s;}
.wa-btn:hover{transform:translateY(-2px); border-color:var(--gold);}
.wa-btn svg{width:14px; height:14px; fill:#25D366;}
@media(max-width:600px){.wa-float{right:12px; bottom:12px;} .wa-btn{padding:9px 12px; font-size:11.5px;}}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:1px solid var(--gold); outline-offset:2px;}
