
:root { --ink:#101312; --deep:#101817; --forest:#172321; --paper:#f2efe8; --white:#fffdf8; --muted:#6d736f; --line:rgba(19,28,26,.16); --gold:#c6a96a; --gold-pale:#e5d3a7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.shell { width:min(100% - 64px,1380px); margin-inline:auto; }

.hero { position:relative; min-height:920px; height:100svh; color:var(--white); background-color:#15201f; background-image:url('assets/rytas-hero.webp'); background-size:cover; background-position:center; overflow:hidden; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,19,29,.68) 0%,rgba(8,19,29,.48) 40%,rgba(8,19,29,.06) 70%,rgba(8,19,29,.12) 100%),linear-gradient(0deg,rgba(7,14,20,.48) 0%,transparent 38%); }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:25% 100%,100% 25%; opacity:.34; pointer-events:none; }
.site-header { position:fixed; z-index:20; top:0; left:0; right:0; min-height:100px; padding-inline:max(32px,calc((100vw - 1380px)/2)); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.18); background:rgba(7,11,12,.89); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); color:var(--white); }
.brand { display:inline-flex; align-items:center; gap:14px; width:max-content; }
.brand-mark { width:52px; height:52px; display:grid; place-items:center; }
.brand-mark img { width:100%; height:100%; object-fit:contain; }
.brand-name { display:flex; flex-direction:column; gap:4px; text-transform:uppercase; line-height:1; }
.brand-name strong { letter-spacing:.2em; font-size:12px; font-weight:700; }
.brand-name small { color:rgba(255,255,255,.42); letter-spacing:.34em; font-size:8px; font-weight:700; }
.header-meta { margin:0; color:rgba(255,255,255,.42); font-family:'Courier New',monospace; font-size:9px; letter-spacing:.18em; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:25px; }
.site-header nav { display:flex; gap:24px; }
.site-header nav a { font-size:10px; color:rgba(255,255,255,.82); text-transform:uppercase; letter-spacing:.12em; font-weight:700; transition:color .2s ease; }
.site-header nav a:hover,.site-header nav a:focus-visible { color:white; }
.languages { display:flex; align-items:center; gap:5px; padding-left:20px; border-left:1px solid rgba(255,255,255,.22); }
.languages span { color:rgba(255,255,255,.25); font-size:9px; }
.languages button { padding:5px 1px; border:0; background:transparent; color:rgba(255,255,255,.45); font:700 9px/1 Arial,Helvetica,sans-serif; letter-spacing:.1em; cursor:pointer; }
.languages button:hover,.languages button:focus-visible,.languages button[aria-pressed="true"] { color:var(--gold-pale); }

.hero-content { position:relative; z-index:2; padding-top:clamp(190px,22vh,250px); }
.eyebrow { margin:0; text-transform:uppercase; letter-spacing:.24em; font-size:11px; font-weight:700; color:#68716e; }
.eyebrow.light { color:var(--gold-pale); }
.hero h1,.statement h2,.investments h2,.asset h3,.forest-asset h3,.approach h2,.about h2,.contact h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
.hero h1 { margin:28px 0 30px; font-size:clamp(70px,7.4vw,126px); line-height:.89; max-width:1040px; }
em { font-weight:400; color:var(--gold-pale); }
.hero-intro { max-width:650px; margin:0; color:rgba(255,255,255,.77); font-size:17px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:16px; margin-top:44px; }
.button { min-height:58px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; gap:28px; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; transition:all .25s ease; }
.button-gold { background:var(--gold); color:#101513; }
.button-gold:hover { background:#d7bd82; transform:translateY(-2px); }
.button-ghost { border:1px solid rgba(255,255,255,.36); color:rgba(255,255,255,.88); }
.button-ghost:hover { border-color:var(--gold-pale); color:var(--gold-pale); }
.hero-facts { position:absolute; z-index:2; left:50%; bottom:0; transform:translateX(-50%); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); }
.hero-facts div { min-height:112px; display:flex; flex-direction:column; justify-content:center; gap:10px; padding:0 24px; border-right:1px solid rgba(255,255,255,.18); }
.hero-facts div:first-child { border-left:1px solid rgba(255,255,255,.18); }
.hero-facts span { color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:9px; }
.hero-facts strong { text-transform:uppercase; letter-spacing:.17em; color:rgba(255,255,255,.58); font-weight:600; font-size:10px; }

.statement { padding-top:150px; padding-bottom:85px; }
.statement-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:110px; align-items:end; margin-top:40px; }
.statement h2 { margin:0; font-size:clamp(54px,5vw,86px); line-height:1.03; }
.statement h2 em { color:#8c7443; }
.statement-copy { max-width:560px; }
.statement-copy p { margin:0 0 22px; color:#4d5753; font-size:16px; line-height:1.8; }
.focus-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-bottom:150px; }
.focus-grid article { min-height:335px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:32px; border:1px solid var(--line); border-right:0; transition:background .25s,color .25s,transform .25s; }
.focus-grid article:last-child { border-right:1px solid var(--line); }
.focus-grid article:hover { background:var(--forest); color:var(--white); transform:translateY(-6px); }
.card-index { color:#8b918e; font-size:10px; letter-spacing:.18em; }
.focus-grid h3 { margin:0 0 20px; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:35px; }
.focus-grid p { max-width:340px; margin:0; color:#65706c; font-size:14px; line-height:1.75; }
.focus-grid article:hover p { color:rgba(255,255,255,.62); }
.card-arrow { position:absolute; top:30px; right:32px; color:#9f8652; font-size:20px; }

.investments { padding:140px 0 150px; background:#0d1413; color:var(--white); }
.investments-heading { display:grid; grid-template-columns:1fr 1.25fr .75fr; gap:60px; align-items:end; margin-bottom:100px; }
.investments-heading h2 { margin:0; font-size:clamp(54px,5.2vw,88px); line-height:1; }
.investments-heading > p:last-child { color:rgba(255,255,255,.57); font-size:15px; line-height:1.75; }
.asset { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; padding-block:85px; border-top:1px solid rgba(255,255,255,.17); }
.asset-reverse .asset-copy { order:2; }
.asset-reverse .asset-gallery { order:1; }
.asset-copy { display:flex; flex-direction:column; justify-content:center; }
.asset-index { margin:0 0 45px; color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:10px; }
.asset h3,.forest-asset h3 { margin:0 0 30px; font-size:clamp(48px,4.5vw,76px); line-height:.96; }
.asset-copy > p:not(.asset-index),.forest-copy > p:not(.asset-index) { margin:0 0 32px; color:rgba(255,255,255,.62); font-size:15px; line-height:1.8; }
.asset dl,.forest-copy dl { margin:0 0 34px; border-top:1px solid rgba(255,255,255,.16); }
.asset dl div,.forest-copy dl div { display:grid; grid-template-columns:1fr 1.4fr; gap:12px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.asset dt,.forest-copy dt { color:rgba(255,255,255,.38); text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.asset dd,.forest-copy dd { margin:0; font-size:12px; }
.asset-link { display:flex; align-items:center; justify-content:space-between; width:100%; padding:18px 0; border-bottom:1px solid var(--gold); color:var(--gold-pale); text-transform:uppercase; letter-spacing:.16em; font-size:10px; }
.asset-gallery { display:grid; grid-template-columns:1.25fr .75fr; gap:12px; min-height:590px; }
.asset-gallery img { width:100%; height:100%; object-fit:cover; }
.forest-asset { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; padding-top:105px; border-top:1px solid rgba(255,255,255,.17); }
.forest-copy { display:flex; flex-direction:column; justify-content:center; }
.forest-copy small { color:rgba(255,255,255,.36); font-size:10px; line-height:1.6; }
.forest-site-link { display:flex; align-items:center; justify-content:space-between; margin:0 0 24px; padding:17px 0; border-bottom:1px solid var(--gold); color:var(--gold-pale); text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; }
.forest-site-link span { font-size:15px; }
.forest-gallery { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:400px 250px; gap:12px; }
.forest-gallery figure { margin:0; overflow:hidden; }
.forest-gallery .forest-main { grid-column:1 / -1; }
.forest-gallery img { width:100%; height:100%; object-fit:cover; }

.approach { display:grid; grid-template-columns:1.05fr .95fr; min-height:830px; background:var(--deep); color:var(--white); }
.approach-image { background:#26312f url('assets/rytas-portfolio.webp') center/cover no-repeat; min-height:680px; }
.approach-content { padding:110px clamp(50px,7vw,120px); display:flex; flex-direction:column; justify-content:center; }
.approach h2 { margin:28px 0 30px; font-size:clamp(52px,5vw,80px); line-height:1; }
.approach-lead { max-width:520px; color:rgba(255,255,255,.64); font-size:16px; line-height:1.75; }
.approach ol { list-style:none; padding:0; margin:54px 0 0; }
.approach li { display:grid; grid-template-columns:50px 1fr; gap:18px; padding:23px 0; border-top:1px solid rgba(255,255,255,.14); }
.approach li > span { color:var(--gold); font-size:10px; letter-spacing:.14em; }
.approach li strong { font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:400; }
.approach li p { margin:8px 0 0; color:rgba(255,255,255,.48); font-size:13px; line-height:1.5; }
.about { display:grid; grid-template-columns:.8fr 1.2fr; gap:120px; padding-top:150px; padding-bottom:150px; }
.about h2 { margin:30px 0 0; font-size:clamp(50px,4.8vw,78px); line-height:1; }
.large-copy { margin:0; max-width:780px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,2.1vw,34px); line-height:1.45; color:#35403c; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:70px; border-top:1px solid var(--line); padding-top:26px; }
.principles div { display:flex; flex-direction:column; gap:10px; }
.principles strong { font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:400; }
.principles span { color:#747c79; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.contact { position:relative; background:var(--forest); color:var(--white); overflow:hidden; }
.contact::before { content:'R'; position:absolute; right:-30px; bottom:-180px; font-family:Georgia,'Times New Roman',serif; font-size:620px; line-height:1; color:rgba(255,255,255,.025); }
.contact-inner { position:relative; padding-top:130px; padding-bottom:135px; }
.contact-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:110px; margin-top:35px; align-items:end; }
.contact h2 { margin:0; font-size:clamp(52px,5.2vw,88px); line-height:1.03; }
.contact-copy p { color:rgba(255,255,255,.6); line-height:1.75; font-size:15px; margin:0 0 30px; }
.button-outline { border:1px solid rgba(229,211,167,.65); color:var(--gold-pale); text-transform:none; letter-spacing:.08em; }
.button-outline:hover { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.footer { background:#0c1110; color:rgba(255,255,255,.48); }
.footer-inner { min-height:180px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
.footer-brand { display:block; width:150px; }
.footer-logo { width:100%; height:auto; }
.footer p { margin:0; font-size:10px; letter-spacing:.08em; }
.footer p:last-child { justify-self:end; }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto; }
  .header-meta { display:none; }
  .header-tools { gap:17px; }
  .site-header nav { gap:17px; }
  .investments-heading { grid-template-columns:1fr 1fr; }
  .investments-heading > p:last-child { grid-column:2; }
  .asset,.forest-asset { grid-template-columns:1fr; }
  .asset-reverse .asset-copy { order:1; }
  .asset-reverse .asset-gallery { order:2; }
}
@media (max-width:980px) {
  .shell { width:min(100% - 40px,1380px); }
  .site-header { padding-inline:20px; }
  .hero { min-height:820px; }
  .hero h1 { font-size:clamp(62px,10vw,88px); }
  .hero-facts { grid-template-columns:repeat(2,1fr); }
  .hero-facts div { min-height:74px; }
  .hero-facts div:nth-child(n+3) { display:none; }
  .statement-layout,.about,.contact-layout { grid-template-columns:1fr; gap:55px; }
  .focus-grid { grid-template-columns:1fr; }
  .focus-grid article { min-height:260px; border-right:1px solid var(--line); border-bottom:0; }
  .focus-grid article:last-child { border-bottom:1px solid var(--line); }
  .asset-gallery { min-height:500px; }
  .approach { grid-template-columns:1fr; }
  .approach-image { min-height:620px; }
  .footer-inner { grid-template-columns:1fr 1fr; padding-block:38px; }
  .footer-inner > p:nth-child(2) { grid-row:2; grid-column:1 / -1; }
}
@media (max-width:620px) {
  html { scroll-padding-top:112px; }
  .shell { width:min(100% - 32px,1380px); }
  .site-header { min-height:112px; padding:0 16px; grid-template-columns:1fr; grid-template-rows:70px 42px; }
  .brand { gap:11px; align-self:center; }
  .brand-mark { width:48px; height:48px; }
  .brand-name strong { font-size:10px; }
  .brand-name small { font-size:7px; }
  .header-tools { grid-row:2; justify-self:stretch; align-self:stretch; display:flex; justify-content:space-between; gap:12px; border-top:1px solid rgba(255,255,255,.12); }
  .site-header nav { display:flex; justify-content:space-between; align-items:center; gap:9px; flex:1; }
  .site-header nav a { display:block; font-size:7.5px; letter-spacing:.07em; white-space:nowrap; }
  .languages { position:absolute; top:25px; right:16px; padding-left:12px; gap:5px; }
  .languages button { font-size:7.5px; }
  .hero { min-height:800px; height:100svh; background-position:61% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(8,19,29,.72) 0%,rgba(8,19,29,.38) 100%),linear-gradient(0deg,rgba(7,14,20,.58) 0%,transparent 52%); }
  .hero-content { padding-top:190px; }
  .eyebrow { font-size:9px; line-height:1.5; }
  .hero h1 { margin-top:24px; font-size:clamp(53px,16.5vw,72px); line-height:.94; }
  .hero-intro { font-size:14px; line-height:1.65; max-width:94%; }
  .hero-actions { margin-top:32px; align-items:flex-start; flex-direction:column; gap:12px; }
  .button { min-height:52px; padding-inline:20px; }
  .hero-facts strong { font-size:9px; line-height:1.4; }
  .statement { padding-top:92px; padding-bottom:55px; }
  .statement-layout { margin-top:26px; gap:42px; }
  .statement h2,.about h2 { font-size:46px; }
  .statement-copy p { font-size:14px; }
  .focus-grid { padding-bottom:92px; }
  .focus-grid article { padding:25px; min-height:230px; }
  .focus-grid h3 { font-size:29px; }
  .investments { padding:90px 0; }
  .investments-heading { grid-template-columns:1fr; gap:26px; margin-bottom:45px; }
  .investments-heading > p:last-child { grid-column:auto; }
  .investments-heading h2 { font-size:48px; }
  .asset,.forest-asset { gap:35px; padding-block:60px; }
  .asset-index { margin-bottom:28px; }
  .asset h3,.forest-asset h3 { font-size:47px; }
  .asset-gallery { grid-template-columns:1fr; min-height:auto; }
  .asset-gallery img { height:310px; }
  .forest-gallery { grid-template-columns:1fr 1fr; grid-template-rows:330px 210px 210px; }
  .forest-gallery .forest-main { grid-column:1 / -1; }
  .forest-gallery figure:last-child { grid-column:1 / -1; }
  .approach-image { min-height:430px; }
  .approach-content { padding:80px 22px; }
  .approach h2 { font-size:48px; }
  .about { padding-top:92px; padding-bottom:92px; gap:42px; }
  .large-copy { font-size:23px; }
  .principles { grid-template-columns:1fr; gap:25px; }
  .contact-inner { padding-top:90px; padding-bottom:95px; }
  .contact-layout { margin-top:28px; gap:45px; }
  .contact h2 { font-size:45px; }
  .button-outline { font-size:9px; }
  .footer-inner { grid-template-columns:1fr; gap:22px; }
  .footer-brand { width:138px; }
  .footer-inner > p:nth-child(2) { grid-row:auto; grid-column:auto; line-height:1.5; }
  .footer p:last-child { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; } }
