/* Resita Data Infrastructure SRL: site stylesheet (design pass 2026-10-28).
   Layout and typography after a split-hero, editorial pattern: serif display type, generous whitespace,
   hairline rules, small letter-spaced labels. Palette: ink, off-white, corporate gold, deep slate. */

:root{
--ink:#1A1A1A;
--ink-2:#3D3D3D;
--ink-3:#5C5C5C;
--ink-4:#6B6B6B;
--bg:#F7F6F3;
--white:#FFFFFF;
--line:#E3E3E3;
--gold:#B8902E;          /* decoration only on light backgrounds (fails AA as text there) */
--gold-ink:#7E6119;      /* gold for small text on light backgrounds (5.4:1 on --bg) */
--gold-soft:#C9A24A;     /* gold text on slate (6.1:1) */
--slate:#1E2A2F;
--slate-2:#26363C;
--on-dark:#F7F6F3;
--on-dark-2:rgba(247,246,243,0.80);
--on-dark-line:rgba(247,246,243,0.22);
--serif:'Cormorant Garamond','Cormorant',Garamond,'Iowan Old Style','Palatino Linotype',Georgia,serif;
--sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
--mono:'JetBrains Mono',ui-monospace,'Courier New',monospace;
--wrap:1240px;
--gutter:48px;
--ease:cubic-bezier(0.25,0,0.15,1);
/* aliases still referenced by inline styles that were kept (site tour, video, footer social block) */
--text:var(--ink);
--text-mid:var(--ink-2);
--text-soft:var(--ink-3);
--text-faint:var(--ink-4);
--amber:var(--gold-ink);
--amber-l:var(--gold-soft);
--paper:var(--bg);
--mist:#EDEBE6;
--line-l:var(--line);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img,video,iframe{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul,ol{list-style:none;}
strong{font-weight:600;}
code{font-family:var(--mono);font-size:0.86em;}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}
.on-dark :focus-visible,.hero__panel :focus-visible,.band :focus-visible,.closing :focus-visible{outline-color:var(--on-dark);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.wrap--narrow{max-width:860px;}

/* ---------- type ---------- */
.label{display:block;font-family:var(--sans);font-size:0.72rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);margin-bottom:22px;}
.label--gold{color:var(--gold-soft);}
.on-dark .label{color:var(--gold-soft);}
.title,.page-title,.hero__title,.closing__line{font-family:var(--serif);font-weight:300;letter-spacing:-0.005em;color:inherit;}
.title em,.page-title em,.hero__title em,.closing__line em,.card__title em{font-style:italic;}
.title{font-size:clamp(2.1rem,3.4vw,3.4rem);line-height:1.06;font-weight:400;max-width:22ch;}
.title--wide{max-width:none;}
.title--sm{font-size:clamp(1.8rem,2.6vw,2.5rem);}
.page-title{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.02;max-width:22ch;}
.text{font-size:1rem;line-height:1.72;color:var(--ink-2);max-width:64ch;}
.text+.text{margin-top:16px;}
.text a,.small a,.lead a,.prose a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.text a:hover,.small a:hover,.lead a:hover,.prose a:hover{color:var(--ink);}
.lead{font-size:1.12rem;line-height:1.7;color:var(--ink-2);max-width:62ch;}
.small{font-size:0.84rem;line-height:1.6;color:var(--ink-3);max-width:70ch;}
.small+.small{margin-top:10px;}
.on-dark .text,.on-dark .lead,.on-dark .small{color:var(--on-dark-2);}
.on-dark .text a,.on-dark .small a,.on-dark .lead a{color:var(--on-dark);}
.mail{overflow-wrap:anywhere;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6em;min-height:48px;padding:14px 26px;font-family:var(--sans);font-size:0.76rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;line-height:1.2;border:1px solid transparent;transition:background 0.2s var(--ease),color 0.2s var(--ease),border-color 0.2s var(--ease);text-align:center;}
.btn--gold{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.btn--gold:hover{background:var(--gold-soft);border-color:var(--gold-soft);}
.btn--line{color:var(--ink);border-color:var(--ink);}
.btn--line:hover{background:var(--ink);color:var(--bg);}
.btn--ghost{color:var(--on-dark);border-color:rgba(247,246,243,0.62);}
.btn--ghost:hover{background:var(--on-dark);color:var(--slate);}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}

/* ---------- header, audience bar, navigation card ---------- */
.site-header{position:relative;z-index:60;}
.audience{background:var(--slate);color:var(--on-dark-2);text-align:center;padding:9px 20px;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.03em;line-height:1.5;}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--wrap);margin:0 auto;padding:22px var(--gutter);}
.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:0.86rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap;min-height:44px;}
.brand__logo{width:36px;height:36px;border-radius:6px;object-fit:cover;}
.navcard{display:flex;align-items:center;background:var(--white);box-shadow:0 10px 30px rgba(26,26,26,0.10),0 1px 0 rgba(26,26,26,0.04);padding:6px 10px;}
.navcard__links{display:flex;align-items:center;gap:2px;}
.navcard__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;font-size:0.92rem;font-weight:500;color:var(--ink);white-space:nowrap;border-bottom:1px solid transparent;transition:color 0.15s;}
.navcard__links a:hover{color:var(--gold-ink);}
.navcard__links a.active{box-shadow:inset 0 -2px 0 var(--gold);}
.navcard__links .navcard__contact a{color:var(--gold-ink);font-size:0.76rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;margin-left:10px;}
.navcard__links .navcard__contact a:hover{color:var(--ink);}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:0 12px;}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform 0.25s,opacity 0.25s;}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.nav-mobile{display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px var(--gutter) 24px;position:relative;z-index:59;}
.nav-mobile.open{display:flex;}
.nav-mobile a{display:flex;align-items:center;min-height:48px;font-size:1rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line);}
.nav-mobile a.active{color:var(--gold-ink);}
.nav-mobile a.btn{margin-top:18px;border-bottom:1px solid var(--gold);justify-content:center;}
/* home: the nav row floats over the hero (desktop) */
@media (min-width:1101px){
.site-header--overlay .masthead{position:absolute;left:0;right:0;max-width:none;padding:22px 24px 0 var(--gutter);align-items:flex-start;}
.site-header--overlay .brand{color:var(--on-dark);margin-top:8px;}
.nav-mobile{display:none!important;}
}

/* ---------- home hero (split) ---------- */
.hero{display:grid;grid-template-columns:minmax(380px,36%) 1fr;min-height:clamp(640px,90vh,880px);background:var(--slate);}
.hero__panel{display:flex;flex-direction:column;justify-content:center;padding:150px var(--gutter) 64px;color:var(--on-dark);background:var(--slate);}
.hero__title{font-size:clamp(2.7rem,4vw,4.3rem);line-height:1.02;color:var(--on-dark);}
.hero__text{margin-top:28px;font-size:0.98rem;line-height:1.7;color:var(--on-dark-2);max-width:44ch;}
.hero__cta{margin-top:40px;align-self:flex-start;}
.hero__photo{position:relative;overflow:hidden;min-height:320px;}
.hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;}

/* ---------- blocks ---------- */
.block{padding:112px 0;}
.block--tight{padding:72px 0;}
.block--prose{padding:64px 0 112px;}
.block--white{background:var(--white);}
.block--tint{background:var(--mist);}
.block--dark{background:var(--slate);color:var(--on-dark);}
.block--dark .title{color:var(--on-dark);}
.rule{position:relative;border-top:1px solid var(--line);padding-top:30px;}
.rule::before{content:'';position:absolute;left:0;top:-1px;width:72px;height:2px;background:var(--gold);}
.on-dark .rule,.block--dark .rule{border-top-color:var(--on-dark-line);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.split--wide{grid-template-columns:1.25fr 1fr;}
.split--narrow{grid-template-columns:0.85fr 1.15fr;}
.split--center{align-items:center;}
.stack>*+*{margin-top:20px;}
.head{margin-bottom:56px;}
.head .text,.head .lead{margin-top:20px;}
.back{display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-size:0.72rem;color:var(--ink-3);margin-bottom:28px;}
.back:hover{color:var(--ink);}

/* ---------- inner page header ---------- */
.page-head{padding:56px 0 80px;border-bottom:1px solid var(--line);}
.page-head .page-title{margin-top:4px;}
.page-head .lead,.page-head .text{margin-top:28px;}
.page-head .small{margin-top:18px;}

/* ---------- key figures ---------- */
.figures{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.figures--3{grid-template-columns:repeat(3,1fr);}
.figure{position:relative;border-top:1px solid var(--line);padding-top:30px;}
.figure::before{content:'';position:absolute;left:0;top:-1px;width:48px;height:2px;background:var(--gold);}
.figure__n{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,3.6vw,3.6rem);line-height:1;letter-spacing:-0.01em;color:var(--ink);white-space:nowrap;}
.figure__u{font-size:0.5em;margin-left:0.12em;letter-spacing:0;}
.figure__l{display:block;margin-top:16px;font-size:0.86rem;line-height:1.55;color:var(--ink-3);max-width:30ch;}
.figure__t{display:block;margin-top:16px;font-size:1rem;font-weight:600;line-height:1.4;color:var(--ink);}
.figure__c{display:block;margin-top:14px;font-size:0.68rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-4);}
.on-dark .figure{border-top-color:var(--on-dark-line);}
.on-dark .figure__n{color:var(--on-dark);}
.on-dark .figure__l{color:var(--on-dark-2);}

/* ---------- coloured band with photo ---------- */
.band{display:grid;grid-template-columns:1.1fr 0.9fr;background:var(--slate);color:var(--on-dark);}
.band__body{padding:112px 72px 112px max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)));}
.band__body .title{color:var(--on-dark);}
.band__body .text{margin-top:24px;color:var(--on-dark-2);}
.band__photo{position:relative;min-height:460px;overflow:hidden;}
.band__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.band--solid{display:block;}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cards--2{grid-template-columns:repeat(2,1fr);}
.cards--4{grid-template-columns:repeat(4,1fr);}
.cards--5{grid-template-columns:repeat(5,1fr);}
.cards--3-2{grid-template-columns:repeat(6,1fr);}
.cards--3-2>*{grid-column:span 2;}
.cards--3-2>*:nth-child(n+4){grid-column:span 3;}
.card{display:flex;flex-direction:column;gap:12px;background:var(--white);border:1px solid var(--line);padding:32px 28px 30px;min-width:0;}
.card__label{font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-ink);}
.card__title{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.08;color:var(--ink);}
.card__title--sm{font-size:1.4rem;}
.card__text{font-size:0.95rem;line-height:1.65;color:var(--ink-2);overflow-wrap:anywhere;}
.card__text a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px;}
.card__meta{margin-top:auto;padding-top:14px;font-size:0.68rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-4);}
.card__icon{width:24px;height:24px;color:var(--gold);flex:none;}
.card__n{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1;color:var(--ink);}
.card--dark{background:var(--slate-2);border-color:var(--on-dark-line);}
.card--dark .card__title{color:var(--on-dark);}
.card--dark .card__text{color:var(--on-dark-2);}
.card--dark .card__label{color:var(--gold-soft);}
.card--dark .card__meta{color:rgba(247,246,243,0.66);}
.card--accent{border-top:2px solid var(--gold);}
.ticks{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.ticks li{position:relative;padding-left:22px;font-size:0.93rem;line-height:1.55;color:var(--ink-2);}
.ticks li::before{content:'';position:absolute;left:0;top:0.62em;width:10px;height:1px;background:var(--gold);}
.card--dark .ticks li,.on-dark .ticks li{color:var(--on-dark-2);}

/* photo tiles (home) */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.tile{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);transition:border-color 0.2s;}
.tile:hover{border-color:var(--ink-4);}
.tile__photo{aspect-ratio:4/3;overflow:hidden;background:var(--mist);}
.tile__photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--ease);}
.tile:hover .tile__photo img{transform:scale(1.03);}
.tile__body{display:flex;flex-direction:column;gap:10px;padding:24px 24px 26px;flex:1;}
.tile__title{font-family:var(--serif);font-size:1.6rem;font-weight:500;line-height:1.1;}
.tile__text{font-size:0.9rem;line-height:1.6;color:var(--ink-2);}
.tile__more{margin-top:auto;padding-top:8px;font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-ink);}

/* ---------- hairline rows (key / value) ---------- */
.rows{border-top:1px solid var(--line);}
.rows__row{display:grid;grid-template-columns:minmax(120px,36%) 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);}
.rows__row dt,.rows__k{font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);padding-top:3px;}
.rows__row dd,.rows__v{font-size:0.95rem;line-height:1.55;color:var(--ink);min-width:0;overflow-wrap:anywhere;}
.rows__row--head dt{color:var(--ink);}
.on-dark .rows,.on-dark .rows__row{border-color:var(--on-dark-line);}
.on-dark .rows__row dt{color:rgba(247,246,243,0.66);}
.on-dark .rows__row dd{color:var(--on-dark);}
.inline-list{display:flex;flex-wrap:wrap;gap:10px;}
.inline-list li,.chip{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--line);background:var(--white);font-size:0.82rem;color:var(--ink-2);overflow-wrap:anywhere;}
.on-dark .chip{background:transparent;border-color:var(--on-dark-line);color:var(--on-dark-2);}
.muted{margin-left:8px;color:var(--ink-4);}
.note{border-left:2px solid var(--gold);background:var(--white);padding:20px 22px;font-size:0.92rem;line-height:1.6;color:var(--ink-2);overflow-wrap:anywhere;}
.note a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px;}

/* ---------- photos with an overlay panel / captions ---------- */
.photo{position:relative;overflow:hidden;background:var(--mist);}
.photo img{width:100%;height:100%;object-fit:cover;}
.photo--tall{min-height:680px;}
.photo--sticky{position:sticky;top:24px;}
.photo--tall img{position:absolute;inset:0;}
.photo__panel{position:absolute;left:24px;right:24px;bottom:24px;max-width:440px;background:var(--white);padding:22px 24px;box-shadow:0 10px 30px rgba(26,26,26,0.12);}
.photo__panel .rows__row{padding:9px 0;grid-template-columns:minmax(100px,38%) 1fr;}
.photo__panel .rows__row dd{font-size:0.86rem;}
.photo__title{font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1.1;margin-bottom:4px;}
.photo__sub{font-size:0.8rem;color:var(--ink-3);margin-bottom:12px;}
.photo__head{display:flex;justify-content:space-between;gap:12px;font-size:0.66rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:10px;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.duo figure{margin:0;}
.duo img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.duo figcaption{margin-top:12px;font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);}
.map{width:100%;height:100%;min-height:320px;border:0;}
.frame{background:var(--white);border:1px solid var(--line);}

/* ---------- phases / steps / timeline ---------- */
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.phase{position:relative;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:28px;}
.phase--done::before,.phase--active::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--gold);}
.phase--active::before{width:50%;}
.phase__num{font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3);}
.phase__title{font-family:var(--serif);font-size:1.55rem;font-weight:500;line-height:1.1;}
.phase__text{font-size:0.92rem;line-height:1.6;color:var(--ink-2);}
.phase__spec{font-family:var(--mono);font-size:0.72rem;color:var(--ink-3);}
.badge{align-self:flex-start;margin-top:auto;font-size:0.66rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line);color:var(--ink-3);background:var(--white);}
.badge--done{border-color:#BFD9C9;color:#1F6E4A;background:#EEF6F1;}
.badge--active{border-color:var(--gold);color:var(--gold-ink);background:#FBF6EA;}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
.step{border-top:1px solid var(--line);padding-top:24px;min-width:0;}
.step__n{display:block;font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1;color:var(--gold-ink);}
.step__title{display:block;margin-top:14px;font-size:1rem;font-weight:600;color:var(--ink);}
.step__text{margin-top:8px;font-size:0.86rem;line-height:1.6;color:var(--ink-3);}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2E9E6A;margin-right:8px;vertical-align:middle;animation:pulse 2.5s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}

/* ---------- quote / press ---------- */
.quote{font-family:var(--serif);font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:400;line-height:1.2;color:var(--ink);max-width:30ch;}
.quote-src{display:block;font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:18px;}
.textlink{display:inline-flex;align-items:center;min-height:44px;font-size:0.74rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-ink);border-bottom:1px solid var(--gold);}
.textlink:hover{color:var(--ink);}
.on-dark .textlink{color:var(--gold-soft);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);}
.faq__item{display:grid;grid-template-columns:minmax(220px,0.8fr) 1.2fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line);}
.faq__q{font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1.2;color:var(--ink);}
.faq__a{font-size:0.96rem;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere;}

/* ---------- closing band over a photo ---------- */
.closing{position:relative;isolation:isolate;overflow:hidden;background:var(--slate);color:var(--on-dark);padding:144px 0;}
.closing__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,42,47,0.94) 0%,rgba(30,42,47,0.86) 48%,rgba(30,42,47,0.55) 100%);}
.closing__line{font-size:clamp(2.3rem,4.2vw,4.2rem);line-height:1.06;max-width:20ch;color:var(--on-dark);}
.closing .text,.closing .small{margin-top:24px;color:var(--on-dark-2);max-width:60ch;}
.closing .small a,.closing .text a{color:var(--on-dark);}
.closing .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.closing .chip{background:transparent;border-color:var(--on-dark-line);color:var(--on-dark-2);}
.contact-strip{padding:56px 0;text-align:center;border-top:1px solid var(--line);}
.contact-strip p{font-size:0.98rem;color:var(--ink-2);}
.contact-strip a{color:var(--gold-ink);font-weight:600;border-bottom:1px solid var(--gold);}

/* ---------- media ---------- */
.video{width:100%;display:block;background:#0F1416;aspect-ratio:16/9;}
.caption-under{margin-top:12px;}
.small--spaced{margin-top:28px;}
.site-updated{font-style:normal;}
.foot-col{min-width:0;}

.span-all{grid-column:1 / -1;}
.gap-top{margin-top:40px;}

/* ---------- prose (legal pages) ---------- */
.prose{max-width:760px;}
.prose h2{font-family:var(--serif);font-size:1.9rem;font-weight:500;line-height:1.15;color:var(--ink);margin:52px 0 14px;}
.prose p{font-size:1rem;line-height:1.75;color:var(--ink-2);margin-bottom:18px;}
.prose ul{list-style:disc;padding-left:22px;margin-bottom:18px;color:var(--ink-2);}

/* ---------- footer ---------- */
.site-footer{background:var(--white);border-top:1px solid var(--line);}
.logo-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px;max-width:var(--wrap);margin:0 auto;padding:40px var(--gutter);border-bottom:1px solid var(--line);}
.logo-strip:empty{display:none;}
.logo-strip .logo{display:inline-flex;align-items:center;}
.logo-strip .logo img{display:block;height:36px;width:auto;max-width:200px;object-fit:contain;filter:grayscale(100%);opacity:0.75;transition:filter 0.2s,opacity 0.2s;}
.logo-strip .logo:hover img,.logo-strip .logo:focus-visible img{filter:none;opacity:1;}
.logo-strip .logo--mono img,.logo-strip .logo--mono:hover img,.logo-strip .logo--mono:focus-visible img{filter:invert(1) grayscale(100%);}
.logo-strip .logo:focus-visible{outline:2px solid var(--gold-ink);outline-offset:6px;}
.logo-strip .logo--native img,.logo-strip .logo--native:hover img,.logo-strip .logo--native:focus-visible img{filter:none;opacity:1;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:56px;padding:64px 0 48px;}
.foot-name{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.1;color:var(--ink);margin-bottom:16px;}
.foot-reg{font-family:var(--mono);font-size:0.68rem;line-height:2;color:var(--ink-3);}
.foot-reg+.foot-reg{margin-top:14px;}
.foot-head{font-size:0.7rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line);}
.foot-text{font-size:0.86rem;line-height:1.6;color:var(--ink-3);margin-bottom:12px;}
.foot-list{display:flex;flex-direction:column;}
.foot-list a,.foot-link{display:flex;align-items:center;min-height:40px;font-size:0.9rem;color:var(--ink-2);border-bottom:1px solid var(--line);overflow-wrap:anywhere;}
.foot-list a:hover,.foot-link:hover{color:var(--gold-ink);}
.foot-link--mail{color:var(--gold-ink);font-weight:600;}
.foot-status{display:flex;align-items:center;min-height:40px;font-size:0.82rem;color:var(--ink-3);}
.site-footer .site-social{padding-top:16px!important;}
.site-footer .site-social a{display:inline-flex;align-items:center;min-height:40px;}
.foot-disclaimer{padding:26px 0;border-top:1px solid var(--line);}
.foot-disclaimer p{font-family:var(--mono);font-size:0.66rem;line-height:1.8;color:var(--ink-3);max-width:980px;}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:18px 0 28px;border-top:1px solid var(--line);font-family:var(--mono);font-size:0.64rem;color:var(--ink-4);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity 0.6s var(--ease),transform 0.6s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* ---------- responsive ---------- */
@media (max-width:1200px){
.tiles{grid-template-columns:repeat(2,1fr);}
.cards--5{grid-template-columns:repeat(3,1fr);}
.steps{grid-template-columns:repeat(3,1fr);}
.timeline{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:1100px){
.cards--3-2>*,.cards--3-2>*:nth-child(n+4){grid-column:span 3;}
.cards--3-2>*:last-child:nth-child(odd){grid-column:1 / -1;}
.navcard{padding:0;}
.navcard__links{display:none;}
.hamburger{display:flex;}
.figures{grid-template-columns:repeat(2,1fr);gap:40px 32px;}
.figures--3{grid-template-columns:repeat(3,1fr);}
.cards,.cards--4{grid-template-columns:repeat(2,1fr);}
.phases{grid-template-columns:repeat(2,1fr);gap:40px 24px;}
.split,.split--wide,.split--narrow{gap:48px;}
.hero__panel{padding-top:72px;}
.band__body{padding:88px 48px 88px var(--gutter);}
.foot-grid{grid-template-columns:1fr 1fr;}
.foot-brand{grid-column:1 / -1;}
}
@media (max-width:900px){
:root{--gutter:24px;}
.block{padding:80px 0;}
.block--tight{padding:56px 0;}
.hero{grid-template-columns:1fr;min-height:0;}
.hero__photo{order:-1;height:56vw;min-height:260px;max-height:460px;}
.hero__panel{padding:48px var(--gutter) 56px;}
.hero__title{font-size:clamp(2.3rem,8.4vw,3.2rem);}
.split,.split--wide,.split--narrow{grid-template-columns:1fr;gap:40px;}
.band{grid-template-columns:1fr;}
.band__body{padding:72px var(--gutter);}
.band__photo{min-height:300px;}
.figures--3{grid-template-columns:1fr 1fr;}
.faq__item{grid-template-columns:1fr;gap:12px;}
.photo--tall{min-height:0;}
.photo--sticky{position:relative;top:auto;}
.photo--tall img{position:static;aspect-ratio:4/3;}
.photo__panel{position:static;box-shadow:none;border:1px solid var(--line);border-top:none;}
.closing{padding:104px 0;}
.page-head{padding:40px 0 56px;}
}
@media (max-width:640px){
.cards--3-2>*,.cards--3-2>*:nth-child(n+4),.cards--3-2>*:last-child:nth-child(odd){grid-column:1 / -1;}
:root{--gutter:20px;}
.audience{font-size:0.62rem;padding:8px 14px;}
.masthead{padding:14px var(--gutter);}
.brand{font-size:0.78rem;letter-spacing:0.12em;}
.figures,.figures--3{grid-template-columns:1fr;gap:32px;}
.cards,.cards--2,.cards--4,.cards--5,.tiles,.duo{grid-template-columns:1fr;}
.phases{grid-template-columns:1fr;}
.steps,.timeline{grid-template-columns:1fr 1fr;gap:20px;}
.rows__row{grid-template-columns:1fr;gap:4px;}
.photo__panel .rows__row{grid-template-columns:1fr;}
.foot-grid{grid-template-columns:1fr;gap:36px;padding:48px 0 36px;}
.logo-strip{gap:24px;padding:28px var(--gutter);}
.logo-strip .logo img{height:28px;}
.card{padding:26px 22px;}
.actions .btn{width:100%;}
.page-title{font-size:clamp(2.2rem,10vw,3rem);}
.closing__line{font-size:clamp(2rem,9vw,2.8rem);}
}
@media (max-width:400px){
.steps,.timeline{grid-template-columns:1fr;}
.hero__title{font-size:2.15rem;}
}
