
:root{
  --midnight:#0D1117;
  --charcoal:#1B1E23;
  --stone:#E7E3DC;
  --bronze:#B89A6A;
  --paper:#F5F2ED;
  --ink:#171A1E;
  --muted:#747980;
  --line:rgba(184,154,106,.34);
  --max:1280px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, Arial, Helvetica, sans-serif;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--stone);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 128px),var(--max));margin-inline:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(13,17,23,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:290px;height:auto}
.nav-links{display:flex;align-items:center;gap:34px;color:var(--stone);font-size:13px}
.nav-links a{opacity:.78;transition:.2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1;color:#fff}
.nav-cta{border:1px solid var(--bronze);padding:10px 17px;border-radius:999px}
.menu-toggle{display:none;border:0;background:none;color:var(--stone);font-size:24px}
.hero{min-height:88vh;background:var(--midnight);color:var(--stone);display:grid;align-items:end;position:relative;overflow:hidden}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,23,.94) 0%,rgba(13,17,23,.62) 48%,rgba(13,17,23,.12) 100%),linear-gradient(0deg,rgba(13,17,23,.9),transparent 65%)}
.hero-inner{position:relative;z-index:2;padding:160px 0 92px;max-width:830px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);font-weight:700;margin-bottom:22px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0}
h1{font-size:clamp(54px,7vw,104px);letter-spacing:-.035em}
h2{font-size:clamp(38px,4.3vw,68px);letter-spacing:-.025em}
h3{font-size:26px}
.hero p{font-size:17px;max-width:620px;color:rgba(231,227,220,.78);margin:26px 0 0}
.arrow-link{display:inline-flex;align-items:center;gap:12px;margin-top:30px;color:var(--bronze);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.arrow-link:after{content:"→";transition:transform .2s}
.arrow-link:hover:after{transform:translateX(4px)}
.section{padding:112px 0}
.section.dark{background:var(--midnight);color:var(--stone)}
.section.paper{background:var(--paper)}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:88px;align-items:start}
.lead{font-family:var(--serif);font-size:clamp(30px,3.2vw,48px);line-height:1.12}
.copy{max-width:620px;color:var(--muted);font-size:16px}
.dark .copy{color:rgba(231,227,220,.67)}
.rule{height:1px;background:var(--line);margin:42px 0}
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:56px}
.cap{padding:32px 24px 18px 0;border-right:1px solid var(--line)}
.cap:last-child{border-right:0;padding-left:24px}
.cap:not(:first-child){padding-left:24px}
.cap .n{color:var(--bronze);font-size:11px;font-weight:700;letter-spacing:.14em}
.cap h3{margin:12px 0 12px}
.cap p{font-size:14px;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 30px;margin-top:50px}
.project-card{display:block}
.project-image{aspect-ratio:16/9;overflow:hidden;background:var(--charcoal)}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.project-card:hover .project-image img{transform:scale(1.025)}
.project-meta{display:flex;gap:10px;color:var(--bronze);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:17px}
.project-card h3{font-size:31px;margin-top:8px}
.project-card .facts{color:var(--muted);font-size:13px;margin-top:8px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric{padding:34px 20px 34px 0;border-right:1px solid var(--line)}
.metric:not(:first-child){padding-left:24px}
.metric:last-child{border-right:0}
.metric strong{font-family:var(--serif);font-size:38px;font-weight:400}
.metric span{display:block;color:var(--bronze);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:8px}
.cta-panel{display:flex;justify-content:space-between;align-items:end;gap:40px}
.cta-panel h2{max-width:760px}
.footer{background:#090C11;color:var(--stone);padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:60px}
.footer-logo{width:300px}
.footer p,.footer a{color:rgba(231,227,220,.62);font-size:13px}
.footer h4{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:54px;padding-top:22px;display:flex;justify-content:space-between;color:rgba(231,227,220,.42);font-size:11px}
.page-hero{padding:175px 0 76px;background:var(--midnight);color:var(--stone)}
.page-hero h1{font-size:clamp(52px,6vw,88px);max-width:980px}
.filters{display:flex;gap:12px;flex-wrap:wrap;margin:38px 0 10px}
.filter-btn{border:1px solid rgba(13,17,23,.18);background:transparent;color:var(--ink);padding:10px 15px;border-radius:999px;cursor:pointer;font-size:12px}
.filter-btn.active{background:var(--midnight);color:var(--stone);border-color:var(--midnight)}
.project-detail-hero{padding-top:78px;background:var(--midnight);color:var(--stone)}
.project-detail-media{height:min(62vh,680px);position:relative}
.project-detail-media img{width:100%;height:100%;object-fit:cover}
.project-titlebar{padding:42px 0 58px}
.project-titlebar h1{font-size:clamp(48px,5vw,78px)}
.fact-table{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.fact{padding:24px 26px 24px 0;border-bottom:1px solid var(--line)}
.fact:nth-child(3n+2),.fact:nth-child(3n+3){padding-left:26px;border-left:1px solid var(--line)}
.fact span{display:block;color:var(--bronze);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.fact strong{font-weight:500}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px}
.timeline-item{border-top:1px solid var(--bronze);padding-top:20px;padding-right:30px}
.timeline-item span{color:var(--bronze);font-size:11px}
.timeline-item strong{display:block;margin-top:7px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--bronze)}
input,textarea{border:1px solid rgba(13,17,23,.18);background:rgba(255,255,255,.36);padding:14px;color:var(--ink);border-radius:0}
textarea{min-height:150px;resize:vertical}
.submit{background:var(--midnight);color:var(--stone);border:1px solid var(--bronze);padding:14px 20px;cursor:pointer}
.form-status{font-size:13px;color:var(--muted);margin-top:12px}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.contact-card{border-top:1px solid var(--line);padding-top:24px}
.contact-card h3{margin-bottom:6px}
.contact-card p{margin:5px 0;color:var(--muted)}
@media (max-width:900px){
  .container{width:min(calc(100% - 48px),var(--max))}
  .nav-links{position:fixed;top:78px;left:0;right:0;background:var(--midnight);padding:24px;display:none;flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .brand img{width:230px}
  .two-col,.footer-grid{grid-template-columns:1fr;gap:34px}
  .cap-grid,.metrics,.timeline{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:1fr}
  .fact-table{grid-template-columns:1fr 1fr}
  .fact:nth-child(3n+2),.fact:nth-child(3n+3){padding-left:0;border-left:0}
  .fact:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
}
@media (max-width:620px){
  .container{width:calc(100% - 40px)}
  .hero{min-height:78vh}
  .section{padding:78px 0}
  .cap-grid,.metrics,.timeline,.fact-table,.contact-cards,.form-grid{grid-template-columns:1fr}
  .cap,.cap:not(:first-child),.cap:last-child,.metric,.metric:not(:first-child),.fact,.fact:nth-child(even){padding-left:0;border-left:0;border-right:0}
  .cta-panel{align-items:start;flex-direction:column}
  .footer-bottom{flex-direction:column;gap:8px}
}

.consent-bar{position:fixed;z-index:100;left:24px;right:24px;bottom:24px;background:#0D1117;color:#E7E3DC;border:1px solid rgba(184,154,106,.42);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 16px 60px rgba(0,0,0,.24)}
.consent-bar strong{display:block;font-size:13px}.consent-bar span{display:block;font-size:12px;color:rgba(231,227,220,.68);margin-top:3px}
.consent-actions{display:flex;gap:10px}.consent-actions button{background:transparent;border:1px solid #B89A6A;color:#E7E3DC;padding:9px 12px;cursor:pointer}
@media(max-width:620px){.consent-bar{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:flex-start}.consent-actions{width:100%;flex-direction:column}.consent-actions button{width:100%}}

.project-gallery{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:48px}.project-gallery img{width:100%;height:100%;object-fit:cover;min-height:340px}.project-gallery img:first-child{grid-row:span 2}.image-credit{font-size:11px;color:var(--muted);margin-top:14px}@media(max-width:760px){.project-gallery{grid-template-columns:1fr}.project-gallery img:first-child{grid-row:auto}.project-gallery img{min-height:auto}}

/* Patrimonium Website V1 — Akacietorvet */
.hero-project-media{filter:saturate(.82) contrast(1.04)}
.featured-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:44px}
.featured-project{display:block;border-top:1px solid var(--line);padding-top:26px}
.featured-project-image{aspect-ratio:16/8;overflow:hidden}
.featured-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.featured-project:hover img{transform:scale(1.015)}
.featured-project-meta{display:flex;justify-content:space-between;gap:36px;align-items:end;padding-top:22px}
.featured-project-meta h3{font-size:42px;margin-top:4px}
.featured-project-meta span{color:var(--bronze);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.featured-facts{display:flex;gap:28px;flex-wrap:wrap}

.page-intro{max-width:700px;color:rgba(231,227,220,.68);font-size:17px;margin-top:25px}
.single-project{display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:center}
.single-project-image{overflow:hidden;aspect-ratio:16/10}
.single-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.single-project:hover .single-project-image img{transform:scale(1.018)}
.single-project-content h2{font-size:54px;margin:12px 0 20px}
.single-project-content p{color:var(--muted)}
.single-facts{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:24px;border-top:1px solid var(--line);margin-top:26px}
.single-facts span{font-size:12px;color:var(--ink)}

.akacia-hero{height:min(86vh,860px);min-height:620px;position:relative;background:var(--midnight);overflow:hidden;padding-top:78px}
.akacia-hero>img{width:100%;height:100%;object-fit:cover;filter:saturate(.88)}
.akacia-hero-overlay{position:absolute;inset:78px 0 0;background:linear-gradient(90deg,rgba(13,17,23,.84),rgba(13,17,23,.18) 58%,rgba(13,17,23,.04)),linear-gradient(0deg,rgba(13,17,23,.48),transparent 55%)}
.akacia-hero-content{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);color:var(--stone)}
.akacia-hero-content h1{font-size:clamp(64px,8vw,118px)}
.akacia-hero-content p{max-width:610px;font-size:18px;color:rgba(231,227,220,.82)}
.akacia-fact-strip{background:var(--midnight);color:var(--stone);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.akacia-facts{display:grid;grid-template-columns:repeat(4,1fr)}
.akacia-facts>div{padding:30px 28px 31px 0;border-right:1px solid rgba(255,255,255,.08)}
.akacia-facts>div:not(:first-child){padding-left:28px}
.akacia-facts>div:last-child{border-right:0}
.akacia-facts strong{font-family:var(--serif);font-size:27px;font-weight:400;display:block}
.akacia-facts span{color:var(--bronze);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.project-story .copy p{margin-top:0;margin-bottom:18px}
.project-image-break{background:var(--midnight)}
.project-image-break>img{width:100%;max-height:760px;object-fit:cover;display:block}
.image-caption{padding:12px 0 18px;color:rgba(231,227,220,.45);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.akacia-keyfacts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;border-top:1px solid rgba(184,154,106,.35)}
.akacia-keyfacts>div{padding:28px 24px 30px 0;border-bottom:1px solid rgba(184,154,106,.25)}
.akacia-keyfacts>div:not(:nth-child(4n+1)){padding-left:24px;border-left:1px solid rgba(184,154,106,.25)}
.akacia-keyfacts span{display:block;color:var(--bronze);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.akacia-keyfacts strong{font-weight:400;font-size:15px}
.gallery-intro{margin-bottom:42px}
.akacia-gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}
.akacia-gallery figure{margin:0}
.akacia-gallery .gallery-wide{grid-row:span 2}
.akacia-gallery img{width:100%;height:100%;min-height:300px;object-fit:cover}
.akacia-gallery figcaption{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px}
.image-credit{font-size:10px;color:var(--muted);margin-top:26px}
.timeline-item small{display:block;color:rgba(231,227,220,.55);margin-top:5px}

@media(max-width:900px){
  .featured-head,.single-project{grid-template-columns:1fr;gap:30px}
  .featured-project-meta{align-items:start;flex-direction:column}
  .akacia-facts,.akacia-keyfacts{grid-template-columns:repeat(2,1fr)}
  .akacia-keyfacts>div:not(:nth-child(4n+1)){padding-left:0;border-left:0}
  .akacia-keyfacts>div:nth-child(even){padding-left:24px;border-left:1px solid rgba(184,154,106,.25)}
  .akacia-gallery{grid-template-columns:1fr}
  .akacia-gallery .gallery-wide{grid-row:auto}
}
@media(max-width:620px){
  .akacia-hero{height:78vh;min-height:560px}
  .akacia-hero-content{bottom:44px}
  .akacia-facts,.akacia-keyfacts{grid-template-columns:1fr}
  .akacia-facts>div,.akacia-facts>div:not(:first-child),.akacia-keyfacts>div,.akacia-keyfacts>div:nth-child(even){padding-left:0;border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .featured-project-meta h3{font-size:34px}
  .single-project-content h2{font-size:42px}
}

/* V1.1 visual QA refinements */
.brand-hero{
  min-height:760px;
  padding-top:78px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  background:var(--midnight);
  color:var(--stone);
}
.brand-hero-copy{display:flex;align-items:center;position:relative;z-index:2}
.brand-hero-copy .container{width:100%;max-width:none;margin:0;padding-left:max(64px,calc((100vw - var(--max))/2));padding-right:56px}
.brand-hero-copy-inner{max-width:690px;padding:90px 0}
.brand-hero-copy h1{font-size:clamp(58px,6vw,96px)}
.brand-hero-copy p{max-width:600px;color:rgba(231,227,220,.72);font-size:17px;margin:28px 0 0}
.brand-hero-image{position:relative;min-height:682px;overflow:hidden;background:#11161d}
.brand-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,23,.28),transparent 30%),linear-gradient(0deg,rgba(13,17,23,.18),transparent 50%)}
.brand-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.brand-image-note{position:absolute;z-index:2;right:24px;bottom:18px;color:rgba(231,227,220,.45);font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.home-positioning{padding-top:124px;padding-bottom:124px}
.home-credit{color:rgba(231,227,220,.42)}
.site-header .nav{height:82px}
.nav-links a[aria-current="page"]{position:relative}
.nav-links a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:1px;background:var(--bronze)}
.project-image-break>img{max-height:820px}
.akacia-gallery img{background:#e6e1d9}
.akacia-gallery figure{overflow:hidden}
.akacia-gallery figure img{transition:transform .55s var(--ease)}
.akacia-gallery figure:hover img{transform:scale(1.012)}
.akacia-keyfacts strong{line-height:1.35}
.timeline-item small{font-size:12px}
.page-hero{padding-top:185px}
.page-hero h1{line-height:1.02}
.footer-logo{max-width:285px}

@media(max-width:1100px){
  .brand-hero{grid-template-columns:1fr 1fr;min-height:680px}
  .brand-hero-copy .container{padding-left:48px;padding-right:36px}
  .brand-hero-copy-inner{padding:70px 0}
}
@media(max-width:900px){
  .brand-hero{grid-template-columns:1fr;min-height:0}
  .brand-hero-copy{min-height:610px}
  .brand-hero-copy .container{padding:0 24px}
  .brand-hero-copy-inner{padding:120px 0 80px}
  .brand-hero-image{min-height:440px}
  .brand-image-note{right:18px;bottom:14px}
  .featured-project-image{aspect-ratio:16/10}
  .page-hero{padding-top:150px}
}
@media(max-width:620px){
  .site-header .nav{height:72px}
  .brand-hero{padding-top:72px}
  .brand-hero-copy{min-height:530px}
  .brand-hero-copy-inner{padding:72px 0 58px}
  .brand-hero-copy h1{font-size:52px}
  .brand-hero-copy p{font-size:15px}
  .brand-hero-image{min-height:320px}
  .brand-image-note{display:none}
  .home-positioning{padding-top:82px;padding-bottom:82px}
  .featured-project-image{aspect-ratio:4/3}
  .featured-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
  .akacia-hero{padding-top:72px}
  .akacia-hero-overlay{inset:72px 0 0}
  .akacia-hero-content h1{font-size:56px}
  .akacia-hero-content p{font-size:15px}
}

/* V1.2 bespoke illustrated system */
.feature-icon,.cap-icon,.approach-icon,.fact-icon{display:block;color:var(--bronze)}
.feature-icon svg,.cap-icon svg,.approach-icon svg,.fact-icon svg{display:block;width:100%;height:100%}
.cap{position:relative;padding-top:30px}
.cap-icon{width:46px;height:46px;margin-bottom:25px}
.cap .n{position:absolute;right:0;top:34px;color:rgba(184,154,106,.45)}
.illustrated-grid{display:grid}.illustrated-grid.four{grid-template-columns:repeat(4,1fr)}
.illustrated-card{padding:12px 34px 12px;text-align:center;border-right:1px solid rgba(184,154,106,.24)}
.illustrated-card:first-child{padding-left:0}.illustrated-card:last-child{border-right:0;padding-right:0}
.illustrated-card .feature-icon{width:58px;height:58px;margin:0 auto 22px}
.illustrated-card h3,.solution-card h3{font-family:var(--serif);font-weight:400;font-size:24px}
.illustrated-card p,.solution-card p{color:rgba(231,227,220,.58);font-size:12px;max-width:230px;margin:10px auto 0}
.approach-list{border-top:1px solid var(--line)}
.approach-item{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid var(--line)}
.approach-icon{width:46px;height:46px}
.approach-item h3{font-family:var(--serif);font-size:20px;font-weight:400}
.approach-item p{font-size:12px;color:var(--muted);margin-top:4px}
.solutions-head{margin-bottom:50px}
.solution-grid{border-top:1px solid rgba(184,154,106,.45);border-bottom:1px solid rgba(184,154,106,.45)}
.solution-card{padding:34px 24px 36px;text-align:center;border-right:1px solid rgba(184,154,106,.45)}
.solution-card:last-child{border-right:0}
.solution-card .feature-icon{width:54px;height:54px;margin:0 auto 20px}
.icon-facts>div{position:relative}
.fact-icon{width:31px;height:31px;margin-bottom:12px}
.development-progress{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;padding-top:6px}
.progress-line{position:absolute;left:8%;right:8%;top:18px;height:1px;background:rgba(231,227,220,.23)}
.progress-step{text-align:center;position:relative;z-index:2}
.progress-dot{display:flex;width:26px;height:26px;border:1px solid rgba(231,227,220,.42);border-radius:50%;margin:0 auto 19px;background:var(--midnight);align-items:center;justify-content:center;font-size:11px;color:var(--bronze)}
.progress-step.complete .progress-dot,.progress-step.active .progress-dot{border-color:var(--bronze)}
.progress-step.active .progress-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--bronze)}
.progress-step strong{display:block;font-family:var(--serif);font-weight:400;font-size:18px}
.progress-step small{display:block;color:rgba(231,227,220,.48);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:7px}
.progress-step.active small{color:var(--bronze)}
@media(max-width:900px){
 .illustrated-grid.four{grid-template-columns:repeat(2,1fr)}
 .illustrated-card,.solution-card{border-bottom:1px solid rgba(184,154,106,.24)}
 .illustrated-card:nth-child(2),.solution-card:nth-child(2){border-right:0}
 .illustrated-card:nth-child(3){padding-left:0}
 .development-progress{grid-template-columns:1fr;gap:28px;padding-left:18px}
 .progress-line{left:30px;right:auto;top:18px;bottom:18px;width:1px;height:auto}
 .progress-step{text-align:left;padding-left:52px}
 .progress-dot{position:absolute;left:0;margin:0}
}
@media(max-width:620px){
 .illustrated-grid.four{grid-template-columns:1fr}
 .illustrated-card,.illustrated-card:first-child,.illustrated-card:last-child,.solution-card{padding:28px 0;border-right:0;border-bottom:1px solid rgba(184,154,106,.24)}
 .illustrated-card .feature-icon,.solution-card .feature-icon{width:50px;height:50px}
 .icon-facts .fact-icon{margin-bottom:8px}
}


/* V3.5 — EXACT V1.2 RESTORE + ONLY REQUESTED HERO/LOGO FIXES */
.brand img,.footer-logo{
  background:transparent!important;
  box-shadow:none!important;
}

/* Keep V1.2 copy/spacing, but allow the approved architecture image to run behind it. */
.brand-hero{
  position:relative;
  display:block!important;
  min-height:760px;
  padding-top:78px;
  background:var(--midnight);
  color:var(--stone);
  overflow:hidden;
}
.brand-hero-copy{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  min-height:682px;
  width:100%;
}
.brand-hero-copy .container{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(64px,calc((100vw - var(--max))/2));
  padding-right:56px;
}
.brand-hero-copy-inner{
  max-width:690px;
  padding:90px 0;
}
.brand-hero-image{
  position:absolute!important;
  z-index:1;
  inset:78px 0 0!important;
  min-height:0!important;
  width:100%;
  height:auto;
  overflow:hidden;
  background:#11161d;
}
.brand-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
  display:block;
}
/* Long feather: image extends well underneath the live text. */
.brand-hero-image::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(13,17,23,.96) 0%,
      rgba(13,17,23,.90) 13%,
      rgba(13,17,23,.78) 24%,
      rgba(13,17,23,.61) 34%,
      rgba(13,17,23,.43) 43%,
      rgba(13,17,23,.27) 51%,
      rgba(13,17,23,.14) 59%,
      rgba(13,17,23,.05) 66%,
      rgba(13,17,23,0) 74%);
}
.brand-hero-image::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(13,17,23,.18),transparent 50%);
}
@media(max-width:900px){
  .brand-hero{min-height:0}
  .brand-hero-copy{min-height:610px}
  .brand-hero-copy .container{padding:0 24px}
  .brand-hero-image{inset:72px 0 0!important}
  .brand-hero-image img{object-position:65% center}
  .brand-hero-image::before{
    background:linear-gradient(90deg,
      rgba(13,17,23,.95) 0%,
      rgba(13,17,23,.85) 36%,
      rgba(13,17,23,.58) 60%,
      rgba(13,17,23,.20) 82%,
      rgba(13,17,23,.03) 100%);
  }
}


/* V3.6 — HERO ZOOM-OUT ONLY. V1.2 below hero remains untouched. */
.brand-hero-image{
  overflow:hidden!important;
}
.brand-hero-image img{
  position:absolute!important;
  right:-1vw!important;
  left:auto!important;
  top:44%!important;
  transform:translateY(-50%)!important;
  width:82vw!important;
  max-width:none!important;
  height:auto!important;
  object-fit:initial!important;
  object-position:initial!important;
}

/* Opaque over the embedded left-side reference typography, then long feather
   into the visible scene. This keeps the whole waterfront composition while
   ensuring only the live HTML copy is visible. */
.brand-hero-image::before{
  background:linear-gradient(90deg,
    #0D1117 0%,
    #0D1117 33%,
    rgba(13,17,23,.995) 40%,
    rgba(13,17,23,.96) 46%,
    rgba(13,17,23,.84) 52%,
    rgba(13,17,23,.65) 58%,
    rgba(13,17,23,.43) 64%,
    rgba(13,17,23,.23) 70%,
    rgba(13,17,23,.09) 76%,
    rgba(13,17,23,0) 84%)!important;
}
.brand-hero-image::after{
  background:linear-gradient(0deg,
    rgba(13,17,23,.16) 0%,
    rgba(13,17,23,.03) 58%,
    rgba(13,17,23,.08) 100%)!important;
}

@media(max-width:1100px){
  .brand-hero-image img{
    width:96vw!important;
    right:-10vw!important;
    top:45%!important;
  }
  .brand-hero-image::before{
    background:linear-gradient(90deg,
      #0D1117 0%,
      rgba(13,17,23,.99) 40%,
      rgba(13,17,23,.82) 55%,
      rgba(13,17,23,.40) 72%,
      rgba(13,17,23,.06) 92%)!important;
  }
}
@media(max-width:900px){
  .brand-hero-image img{
    width:135vw!important;
    right:-35vw!important;
    top:47%!important;
  }
}


/* V3.8 — homepage lock: Akacietorvet teaser copy removed.
   Preserve V3.6/V1.2 design; normalize CTA spacing only. */
.home-featured .arrow-link,
.featured-development .arrow-link,
.project-feature .arrow-link{
  margin-top:22px;
}


/* V3.11 — Contact refinement only */
.contact-refined-grid{
  align-items:start;
}
.contact-direct h2{
  margin-top:10px;
  font-size:clamp(42px,4vw,62px);
}
.contact-role{
  margin-top:8px;
  color:var(--bronze);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.contact-lines{
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid var(--line);
  display:grid;
  gap:9px;
  max-width:420px;
}
.contact-lines a,
.contact-lines span{
  font-family:var(--serif);
  font-size:20px;
  color:var(--ink);
}
.contact-form-wrap{
  padding-top:2px;
}
.contact-form-wrap .form-grid{
  gap:24px 22px;
}
.contact-form-wrap .field label{
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-form-wrap .optional{
  color:var(--muted);
  text-transform:none;
  letter-spacing:0;
}
.contact-submit{
  display:inline-flex;
  align-items:center;
  gap:30px;
}
.contact-submit span{
  transition:transform .2s ease;
}
.contact-submit:hover span{
  transform:translateX(4px);
}
.contact-form-wrap .form-status:empty{
  display:none;
}

@media(max-width:900px){
  .contact-refined-grid{
    grid-template-columns:1fr;
    gap:64px;
  }
}


/* V3.12 — Contact privacy refinement: form-led contact, no public personal details */
.contact-direct .contact-intro{
  max-width:430px;
  margin-top:26px;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}


/* V3.16 — About: pure typographic hero, no image/graphics/decorative elements */
body:has(.hero .eyebrow) .hero{
  background:#0D1117;
}

/* Scoped by About page's locked headline text via class added below */
.about-typographic-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  background:#0D1117;
  overflow:hidden;
}
.about-typographic-hero .hero-inner{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding-top:clamp(90px,10vh,150px);
  padding-bottom:clamp(100px,13vh,190px);
}
.about-typographic-hero .eyebrow{
  margin-bottom:30px;
}
.about-typographic-hero h1{
  max-width:980px;
  margin:0;
  font-size:clamp(58px,6.15vw,104px);
  line-height:.96;
  letter-spacing:-.035em;
}
.about-typographic-hero .copy{
  max-width:610px;
  margin-top:42px;
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.75;
}
@media(max-width:900px){
  .about-typographic-hero{
    min-height:auto;
  }
  .about-typographic-hero .hero-inner{
    padding-top:88px;
    padding-bottom:104px;
  }
  .about-typographic-hero h1{
    font-size:clamp(48px,11vw,72px);
    line-height:1;
  }
  .about-typographic-hero .copy{
    margin-top:34px;
  }
}


/* V3.17 — FINAL ABOUT HERO TYPOGRAPHIC POLISH
   More vertical air, sharper hierarchy, better optical balance.
   Scope: About hero only. */
.about-typographic-hero{
  min-height:76vh!important;
  display:flex!important;
  align-items:center!important;
  background:#0D1117!important;
  padding:0!important;
}

.about-typographic-hero .hero-inner{
  width:100%!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
  padding:
    clamp(150px,17vh,220px)
    0
    clamp(135px,15vh,200px)!important;
}

.about-typographic-hero .eyebrow{
  margin-bottom:34px!important;
  font-size:11px!important;
  letter-spacing:.19em!important;
}

.about-typographic-hero h1{
  max-width:1040px!important;
  margin:0!important;
  font-size:clamp(64px,6.4vw,108px)!important;
  line-height:.965!important;
  letter-spacing:-.038em!important;
  text-wrap:balance;
}

.about-typographic-hero .copy{
  max-width:585px!important;
  margin-top:46px!important;
  font-size:clamp(15px,1.08vw,17px)!important;
  line-height:1.78!important;
  color:rgba(231,227,220,.70)!important;
}

@media(max-width:1100px){
  .about-typographic-hero{
    min-height:72vh!important;
  }
  .about-typographic-hero .hero-inner{
    padding:
      clamp(130px,15vh,180px)
      0
      clamp(120px,13vh,165px)!important;
  }
  .about-typographic-hero h1{
    max-width:900px!important;
  }
}

@media(max-width:900px){
  .about-typographic-hero{
    min-height:auto!important;
  }
  .about-typographic-hero .hero-inner{
    padding:118px 0 112px!important;
  }
  .about-typographic-hero .eyebrow{
    margin-bottom:27px!important;
  }
  .about-typographic-hero h1{
    max-width:760px!important;
    font-size:clamp(52px,10vw,76px)!important;
    line-height:.985!important;
  }
  .about-typographic-hero .copy{
    max-width:560px!important;
    margin-top:38px!important;
  }
}

@media(max-width:560px){
  .about-typographic-hero .hero-inner{
    padding:96px 0 92px!important;
  }
  .about-typographic-hero h1{
    font-size:clamp(44px,12.5vw,60px)!important;
    line-height:1!important;
  }
  .about-typographic-hero .copy{
    margin-top:32px!important;
    font-size:14px!important;
    line-height:1.72!important;
  }
}


/* V3.18 — About hero responsive QA corrections only */

/* Desktop remains as approved. */

@media(max-width:1100px){
  .about-typographic-hero .hero-inner{
    max-width:none!important;
    padding-left:48px!important;
    padding-right:48px!important;
  }

  .about-typographic-hero h1{
    max-width:860px!important;
    font-size:clamp(58px,7.2vw,82px)!important;
    line-height:.98!important;
  }

  .about-typographic-hero .copy{
    max-width:560px!important;
  }
}

@media(max-width:900px){
  .about-typographic-hero .hero-inner{
    padding:
      104px
      32px
      104px!important;
  }

  .about-typographic-hero .eyebrow{
    margin-bottom:28px!important;
  }

  .about-typographic-hero h1{
    max-width:720px!important;
    font-size:clamp(50px,8.4vw,68px)!important;
    line-height:.99!important;
    letter-spacing:-.032em!important;
  }

  .about-typographic-hero .copy{
    max-width:570px!important;
    margin-top:34px!important;
    font-size:15px!important;
    line-height:1.72!important;
  }
}

@media(max-width:560px){
  .about-typographic-hero .hero-inner{
    padding:
      88px
      20px
      90px!important;
  }

  .about-typographic-hero .eyebrow{
    margin-bottom:24px!important;
    font-size:10px!important;
    letter-spacing:.17em!important;
  }

  .about-typographic-hero h1{
    max-width:350px!important;
    font-size:clamp(42px,11.2vw,52px)!important;
    line-height:1.01!important;
    letter-spacing:-.028em!important;
  }

  .about-typographic-hero .copy{
    max-width:345px!important;
    margin-top:30px!important;
    font-size:14px!important;
    line-height:1.68!important;
  }
}


/* V3.21 — What We Do responsive QA: spacing/overflow only */
@media (max-width: 1100px){
  .illustrated-grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .illustrated-card,
  .solution-card{
    min-width:0;
    height:auto;
  }
  .illustrated-card p,
  .solution-card p{
    overflow-wrap:anywhere;
  }
}
@media (max-width: 700px){
  .illustrated-grid.four{
    grid-template-columns:1fr;
  }
  .illustrated-card,
  .solution-card{
    min-height:0;
  }
  .solutions-head{
    gap:34px;
  }
}




/* V3.23 — Projects: keep original V3.21 hero proportions; project-card spacing only */
.single-project-content h2{
  margin-bottom:28px;
}
.single-facts{
  margin-top:0;
}
.single-project-content .arrow-link{
  margin-top:30px;
}


/* V4.1 — Privacy / Legal pages */
.legal-hero{
  background:#0D1117;
  color:var(--stone);
}
.legal-hero .container{
  padding-top:clamp(135px,15vh,190px);
  padding-bottom:clamp(100px,11vh,145px);
}
.legal-hero .eyebrow{margin-bottom:26px}
.legal-hero h1{
  margin:0;
  max-width:900px;
  font-size:clamp(58px,5.8vw,96px);
  line-height:.98;
  letter-spacing:-.035em;
}
.legal-hero p{
  max-width:620px;
  margin-top:34px;
  color:rgba(231,227,220,.68);
  line-height:1.75;
}
.legal-copy{
  max-width:900px;
}
.legal-copy h2{
  margin-top:52px;
  margin-bottom:16px;
}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p{
  max-width:780px;
  line-height:1.8;
}
.legal-notice{
  padding:16px 18px;
  margin-top:18px;
  border-left:1px solid var(--bronze);
  background:rgba(184,120,53,.05);
  font-size:13px;
}
.footer-bottom a{color:inherit}
@media(max-width:700px){
  .legal-hero .container{
    padding-top:100px;
    padding-bottom:84px;
  }
  .legal-hero h1{
    font-size:clamp(46px,12vw,62px);
  }
  .legal-copy h2{
    margin-top:42px;
  }
}
