/* Kapellan — útlit B: teikningin ber síðuna, kapelluformið notað sparlega. */
:root{
  --ink:#131f17; --pine:#1d3226; --moss:#486b52; --sage:#8aa892;
  --bone:#f5f1e6; --paper:#fbf9f2; --lime:#c9e265; --gold:#b98a2e;
  --serif:"Lora",Georgia,serif; --sans:"Instrument Sans",-apple-system,"Segoe UI",sans-serif;
  --max:1264px;
  --kap-ratio:368/512;   /* öll kapelluform nota sama hlutfall */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bone);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--lime);color:var(--ink)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,88px)}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.02em}
.eyebrow{font-size:12px;letter-spacing:.24em;color:var(--moss);text-transform:uppercase}
.kapshape{clip-path:polygon(0% 100%,0% 39%,50% 3%,100% 39%,100% 100%)}

/* nav */
.bnav{display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,5vw,88px);height:84px;border-bottom:1px solid rgba(19,31,23,.13);
  position:sticky;top:0;background:rgba(245,241,230,.92);backdrop-filter:blur(8px);z-index:800}
.bbrand{display:flex;align-items:center;gap:12px}
.bbrand span{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.055em}
.blinks{display:flex;align-items:center;gap:clamp(16px,2.4vw,38px);font-size:14.5px}
.blinks a{color:var(--moss)}.blinks a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--bone);
  padding:16px 34px;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:500;min-height:46px}
.btn:hover{background:var(--pine)}
.btn.ghost{background:none;color:var(--ink);border:1px solid rgba(19,31,23,.3)}
.btn.ghost:hover{background:rgba(19,31,23,.06)}
@media(max-width:820px){.blinks .hide-s{display:none}}

/* hero */
.bhero{position:relative;overflow:hidden;padding-top:clamp(40px,6vw,64px)}
.bhero h1{font-size:clamp(38px,6.4vw,74px);margin:0 0 26px}
.bhero .sub{font-size:clamp(16px,1.7vw,18.5px);color:#2f4136;max-width:512px;margin:0 0 34px;text-wrap:pretty}
.bhero .row{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.bhero .teikning{width:100%;margin-top:clamp(24px,4vw,44px)}
.bhero .teikning img{width:100%;height:auto}
.bstrip{border-top:1px solid rgba(19,31,23,.13);padding:20px clamp(20px,5vw,88px);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--moss)}

/* sections */
.sec{padding:clamp(56px,8vw,96px) 0}
.sec.tight{padding-top:0}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,5vw,58px);flex-wrap:wrap}
.shead h2{font-size:clamp(30px,4.4vw,54px);margin-top:18px}

/* room cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
@media(max-width:900px){.cards{grid-template-columns:1fr;gap:40px}}
.card .shot{width:100%;aspect-ratio:var(--kap-ratio);background:#dcd6c4;overflow:hidden}
.card .shot img{width:100%;height:100%;object-fit:cover}
.card .kapshape{overflow:hidden}
.card .kapshape img{animation:kapDrift 36s ease-in-out infinite alternate;will-change:transform}
.card .lbl{font-size:10.5px;letter-spacing:.21em;color:var(--moss);text-transform:uppercase;margin:22px 0 10px}
.card h3{font-size:26px;margin-bottom:8px}
.card p{font-size:15.5px;color:#2f4136;margin-bottom:15px}
.card .price{font-size:14px;color:var(--moss);border-top:1px solid rgba(19,31,23,.13);padding-top:14px}
@keyframes kapDrift{from{transform:scale(1)}to{transform:scale(1.06)}}

/* dark band */
.dark{background:var(--ink);color:var(--bone);padding:clamp(56px,8vw,92px) 0}
.dark .inner{display:flex;align-items:center;justify-content:center;gap:clamp(32px,6vw,96px);flex-wrap:wrap}
.dark .col{flex:1 1 460px;max-width:660px}
.dark h2{font-size:clamp(34px,5.4vw,74px);color:var(--gold);font-weight:400;line-height:1.08;margin-bottom:30px}
.dark p{font-family:var(--serif);font-size:clamp(17px,2vw,20px);line-height:1.72;color:rgba(245,241,230,.84);max-width:566px;text-wrap:pretty}
.marks{display:flex;gap:18px;margin-bottom:42px}
.kapwin{position:relative;overflow:hidden;background:var(--pine);width:min(368px,80vw);aspect-ratio:var(--kap-ratio);flex:0 0 auto}
.kapwin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  will-change:opacity,transform;animation:kapCycle 36s cubic-bezier(.37,0,.28,1) infinite}
.kapwin img:nth-child(1){animation-delay:0s}
.kapwin img:nth-child(2){animation-delay:12s}
.kapwin img:nth-child(3){animation-delay:24s}
@keyframes kapCycle{0%{opacity:0;transform:scale(1.02) translate3d(3.5%,1%,0)}4%{opacity:1}30%{opacity:1}
  36%{opacity:0;transform:scale(1.17) translate3d(-3.5%,-2.5%,0)}
  100%{opacity:0;transform:scale(1.02) translate3d(3.5%,1%,0)}}
/* aðeins ógagnsæi — notað þegar dregið er úr hreyfingu */
@keyframes kapCycleFade{0%{opacity:0}4%{opacity:1}30%{opacity:1}36%{opacity:0}100%{opacity:0}}
.wincap{margin-top:20px;font-size:11px;letter-spacing:.22em;color:rgba(245,241,230,.45);text-transform:uppercase;text-align:center}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
@media(max-width:900px){.prices{grid-template-columns:1fr}}
.pcard{border:1px solid rgba(19,31,23,.16);padding:34px 30px;background:var(--paper);display:flex;flex-direction:column}
.pcard.feat{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.pcard h3{font-size:21px;margin-bottom:18px}
.pcard .amt{font-family:var(--serif);font-size:38px;line-height:1;letter-spacing:-.02em}
.pcard .amt small{font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:0}
.pcard .per{font-size:13.5px;color:var(--moss);margin:10px 0 22px}
.pcard.feat .per{color:rgba(245,241,230,.6)}
.pcard ul{list-style:none;font-size:14.5px;line-height:1.62;display:flex;flex-direction:column;gap:9px}
.pcard li{padding-left:17px;position:relative;color:#2f4136}
.pcard.feat li{color:rgba(245,241,230,.84)}
.pcard li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--gold)}
.pcard.feat li::before{background:var(--lime)}

/* picker */
#plan-root{margin-top:8px}

/* tenants */
.tenants{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,5vw,64px);color:var(--moss)}
.tlogo{display:block;width:120px;height:34px;background:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain}
.tlogo.sodavatn{-webkit-mask-image:url(/assets/img/logos/sodavatn-logo.svg);mask-image:url(/assets/img/logos/sodavatn-logo.svg)}
.tlogo.blomstra{-webkit-mask-image:url(/assets/img/logos/blomstra-logo.svg);mask-image:url(/assets/img/logos/blomstra-logo.svg)}
.tlogo.kling{-webkit-mask-image:url(/assets/img/logos/kling-logo.svg);mask-image:url(/assets/img/logos/kling-logo.svg)}
.tlogo.frami{-webkit-mask-image:url(/assets/img/logos/frami-logo.svg);mask-image:url(/assets/img/logos/frami-logo.svg)}
.tlogo.elvo{-webkit-mask-image:url(/assets/img/logos/elvo-logo.svg);mask-image:url(/assets/img/logos/elvo-logo.svg)}

/* faq */
.faq details{border-top:1px solid rgba(19,31,23,.14);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:19px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--moss);font-family:var(--sans)}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;font-size:15.5px;color:#2f4136;max-width:70ch}

/* cta + footer */
.cta-band{background:var(--paper);text-align:center;padding:clamp(56px,8vw,96px) 0}
.cta-band h2{font-size:clamp(30px,4.6vw,54px);margin:16px 0 18px}
.cta-band p{font-size:17px;color:#2f4136;max-width:52ch;margin:0 auto 30px}
footer{background:var(--ink);color:rgba(245,241,230,.72);padding:56px 0 40px;font-size:14.5px}
footer a{color:var(--lime)}
.fcols{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.fine{margin-top:40px;font-size:12.5px;color:rgba(245,241,230,.4)}

/* sketch-mode picker */
.sketch .plan-iso .iso-top.laust{fill:url(#hLaust)}
.sketch .plan-iso .iso-top.fratekid{fill:url(#hFrat)}
.sketch .plan-iso .iso-top.sameign{fill:url(#hSam)}
.sketch .plan-iso .iso-top{stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.sketch .plan-iso .iso-top.laust:hover,.sketch .plan-iso .iso-top.laust.sel{fill:var(--lime)}
.sketch .iso-side{stroke:var(--ink);stroke-width:1.3;stroke-linejoin:round;fill:#efe9d8}
.sketch .iso-side.laust{fill:#e4ecc6}
.sketch .iso-side.fratekid{fill:#e2ddcd}
.sketch .iso-side.sameign{fill:#efe6cf}
.sketch .iso-roof{fill:#efe9d8;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.sketch .iso-roofline{stroke:var(--ink);stroke-width:1}
.sketch .iso-support{stroke:var(--ink);stroke-width:1.1;opacity:.5}
.sketch .plan-label{font-family:var(--serif);font-style:italic}

/* nav á litlum skjá */
@media(max-width:640px){
  .bnav{height:66px}
  .bbrand span{font-size:16px}
  .blinks{gap:0}
  .blinks a:not(.btn){display:none}
  .btn{padding:12px 18px;font-size:11.5px;letter-spacing:.08em;min-height:42px;white-space:nowrap}
}

/* ---------- hreyfingar (útlit B) ---------- */

/* fyrirsögn kviknar staf fyrir staf */
[data-reveal-chars] .rch{color:rgba(245,241,230,.07);will-change:color}
[data-reveal-chars].lit .rch{animation:chLight .62s cubic-bezier(.25,.6,.3,1) both}
@keyframes chLight{from{color:rgba(245,241,230,.07)}to{color:var(--gold)}}


/* Dregið úr hreyfingu: engar færslur, en myndirnar skiptast áfram
   (ógagnsæi eitt og sér veldur ekki svima) og gæsin situr kyrr í myndinni. */
@media(prefers-reduced-motion:reduce){
  [data-reveal-chars] .rch{color:var(--gold);animation:none}
  .kapwin img{animation:kapCycleFade 36s linear infinite}
  .card .kapshape img{animation:none}
}

/* ==========================================================
   Skreytingar — teiknuð atriði og hreyfingar (útlit B)
   ========================================================== */

/* strik sem dregst undir fyrirsögn */
.rule{display:block;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;margin:18px 0 22px;width:min(100%,520px)}
.lit .rule,.rule.lit{animation:ruleIn 1.1s cubic-bezier(.2,.7,.2,1) .15s both}
@keyframes ruleIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* stafa-kveikja á ljósum grunni: úr daufu í blek */
[data-reveal-chars].to-ink .rch{color:rgba(19,31,23,.09)}
[data-reveal-chars].to-ink.lit .rch{animation:chInk .6s cubic-bezier(.25,.6,.3,1) both}
@keyframes chInk{from{color:rgba(19,31,23,.09)}to{color:var(--ink)}}

/* mjúk innkoma á blokkum */
.rise{opacity:0;transform:translateY(22px)}
.rise.lit{animation:riseIn .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes riseIn{to{opacity:1;transform:none}}
.rise[data-d="1"].lit{animation-delay:.12s}.rise[data-d="2"].lit{animation-delay:.24s}.rise[data-d="3"].lit{animation-delay:.36s}

/* ---------- formið teiknar sig yfir þakið ---------- */
.bhero .teikning{position:relative}
.trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.trace path{fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;opacity:0}
.trace.drawn path{opacity:.85}
.trace-cap{position:absolute;right:clamp(20px,5vw,88px);top:7%;font-size:12px;letter-spacing:.24em;
  color:var(--moss);text-transform:uppercase;opacity:0}
.trace.drawn + .trace-cap{animation:riseIn .8s ease .2s both}

/* ---------- bogatexti sem skrifar sig yfir kapelluglugganum ---------- */
.winwrap{position:relative}
.arc{position:absolute;left:-4%;width:108%;top:-11%;height:auto;pointer-events:none;overflow:visible}
.arc text{font-family:var(--serif);font-size:13px;letter-spacing:.22em;fill:rgba(245,241,230,.75)}
.arc tspan{fill-opacity:0}
.arc.lit tspan{animation:arcIn .5s ease both}
@keyframes arcIn{to{fill-opacity:1}}

/* ---------- skógurinn: teiknuð rönd með hlaupara ---------- */
.skogur{position:relative;overflow:hidden;background:var(--bone);padding:clamp(48px,7vw,80px) 0 0}
.skogur .shead{margin-bottom:clamp(24px,4vw,40px)}
.skogur .scene{position:relative;width:100%;aspect-ratio:2400/792;overflow:hidden}
.skogur .scene img.bg{position:absolute;inset:0;width:104%;height:100%;object-fit:cover;left:-2%;will-change:transform}
.runner{position:absolute;bottom:9%;left:-14%;width:clamp(56px,7.2vw,104px);aspect-ratio:186/220;
  background-image:url(/assets/img/teikn/runner-sprite.png);background-size:300% 100%;background-repeat:no-repeat;
  will-change:transform;filter:drop-shadow(0 6px 4px rgba(19,31,23,.12))}
.skogur.lit .runner{animation:runCycle .58s steps(3) infinite, runAcross 16s linear .3s infinite}
@keyframes runCycle{from{background-position:0 0}to{background-position:-300% 0}}
@keyframes runAcross{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(128vw,-1.2vw,0) scale(.86)}}
.skogur .cap{padding:16px clamp(20px,5vw,88px) 22px;font-size:12px;letter-spacing:.22em;color:var(--moss);text-transform:uppercase;
  border-top:1px solid rgba(19,31,23,.13);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- gylltu reitirnir með fígúrunum ---------- */
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.5vw,48px);align-items:end}
@media(max-width:900px){.figs{grid-template-columns:1fr;gap:34px}}
.fig{position:relative;aspect-ratio:var(--kap-ratio);background:var(--gold)}
.fig .kapfill{position:absolute;inset:0;background:var(--gold)}
.fig img{position:absolute;left:50%;bottom:-3%;transform:translateX(-50%);width:72%;height:auto;
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.fig:hover img{transform:translateX(-50%) translateY(-10px)}
.fig .lbl{position:absolute;left:0;right:0;top:27%;text-align:center;font-family:var(--serif);font-size:clamp(20px,2.2vw,27px);
  color:var(--bone);letter-spacing:-.01em;padding:0 10%;text-wrap:balance}
.fig[data-tall] img{width:44%;bottom:-2%}

/* ---------- kortið ---------- */
.kort{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:stretch}
@media(max-width:900px){.kort{grid-template-columns:1fr}}
.kort .map{background:var(--ink);position:relative;overflow:hidden;aspect-ratio:4/3}
.kort .map svg{width:100%;height:100%;display:block}
.kort .map .road{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;opacity:.75}
.kort .map .road.minor{stroke-width:.9;opacity:.45}
.kort .map .water{fill:rgba(72,107,82,.28)}
.kort .map .wood{fill:none;stroke:var(--gold);stroke-width:.8;opacity:.55;stroke-dasharray:2 3}
.kort .map .lbl{font-family:var(--serif);font-style:italic;font-size:11px;fill:rgba(245,241,230,.75)}
.kort .map .pin{fill:var(--gold);stroke:var(--ink);stroke-width:1;transition:transform .25s ease;transform-box:fill-box;transform-origin:50% 100%}
.kort .map .pin.on{transform:scale(1.55);fill:var(--lime)}
.kort .map .home{fill:var(--lime);stroke:var(--ink);stroke-width:1.2}
.kort ul{list-style:none;display:flex;flex-direction:column;border-top:1px solid rgba(19,31,23,.14)}
.kort li{display:flex;justify-content:space-between;gap:16px;padding:15px 4px;border-bottom:1px solid rgba(19,31,23,.14);cursor:default;transition:background .2s}
.kort li:hover,.kort li.on{background:rgba(185,138,46,.08)}
.kort li .n{font-family:var(--serif);font-size:18px}
.kort li .s{font-size:13px;color:var(--moss);white-space:nowrap}
.kort li .sub{display:block;font-size:13px;color:#5a665e;margin-top:2px;font-family:var(--sans)}
.icons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,2vw,28px);margin-top:clamp(28px,4vw,44px);
  border-top:1px solid rgba(19,31,23,.14);padding-top:clamp(20px,3vw,32px)}
@media(max-width:900px){.icons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.icons{grid-template-columns:repeat(2,minmax(0,1fr))}}
.icon{text-align:center;font-size:12.5px;color:#2f4136}
.icon svg{width:44px;height:44px;margin:0 auto 10px;stroke:var(--gold);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.icon b{display:block;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:3px}

/* ---------- dregið úr hreyfingu ---------- */
@media(prefers-reduced-motion:reduce){
  .rule,.lit .rule{transform:none;animation:none}
  [data-reveal-chars].to-ink .rch{color:var(--ink);animation:none}
  .rise{opacity:1;transform:none;animation:none}
  .trace path{opacity:.85}
  .trace-cap{opacity:1;animation:none}
  .arc tspan{fill-opacity:1;animation:none}
  .skogur.lit .runner{animation:none;left:26%}
  .fig img,.fig:hover img{transition:none;transform:translateX(-50%)}
}
