:root{--onyx:#0c0c0c;--coffee:#281f17;--walnut:#443526;--olive:#705a43;--linen:#efe9e1;--camel:#af9371;--muted:rgba(239,233,225,.66);--line:rgba(175,147,113,.24);--max:1380px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{background:var(--onyx);scroll-behavior:smooth}body{margin:0;background:var(--onyx);color:var(--linen);font-family:Cambria,Georgia,serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.shell{width:min(calc(100% - 44px),var(--max));margin:auto}.kicker{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;color:var(--camel)}.kicker:before{content:"";width:46px;height:1px;background:currentColor}.grain{position:absolute;inset:0;pointer-events:none;opacity:.12;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.wood-lines{position:absolute;inset:auto -10% -20% auto;width:70vw;height:70vw;opacity:.12;pointer-events:none;background:repeating-radial-gradient(ellipse at 58% 44%,transparent 0 14px,rgba(175,147,113,.72) 15px 16px,transparent 17px 29px);transform:rotate(-12deg)}
.cursor-light{position:fixed;left:0;top:0;width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,rgba(175,147,113,.12),transparent 68%);transform:translate(-50%,-50%);mix-blend-mode:screen;opacity:0;transition:opacity .3s}header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.35s var(--ease)}header.scrolled{background:rgba(12,12,12,.88);backdrop-filter:blur(18px);border-color:var(--line)}.nav{height:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{display:flex;align-items:center;gap:14px;width:max-content}.brand-mark{width:48px;height:48px;border:1px solid var(--camel);border-radius:50%;display:grid;place-items:center;color:var(--camel);font-size:.72rem;letter-spacing:.12em}.brand-copy strong{display:block;font-size:1.16rem;letter-spacing:.18em}.brand-copy small{display:block;color:var(--camel);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;margin-top:3px}.nav-links{display:flex;align-items:center;justify-content:center;gap:32px;text-transform:uppercase;letter-spacing:.14em;font-size:.69rem}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--camel);transition:right .3s var(--ease)}.nav-links a:hover:after,.nav-links a.active:after{right:0}.pill{justify-self:end;padding:15px 20px;background:var(--camel);color:var(--onyx);text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;transition:.3s var(--ease)}.pill:hover{background:var(--linen);transform:translateY(-2px)}.menu{display:none;background:transparent;border:0;color:var(--linen);padding:10px;justify-self:end}.menu span{display:block;width:28px;height:1px;background:currentColor;margin:6px 0}
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end}.hero-media{position:absolute;inset:0}.hero-media img{filter:saturate(.52) contrast(1.08);transform:scale(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.96) 0%,rgba(12,12,12,.72) 44%,rgba(12,12,12,.2) 78%),linear-gradient(0deg,var(--onyx) 0%,transparent 34%)}.hero-content{position:relative;z-index:3;padding:190px 0 86px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.45fr);gap:70px;align-items:end}.hero h1,.page-intro h1{font-size:clamp(4rem,9vw,9.2rem);line-height:.83;letter-spacing:-.055em;font-weight:400;margin:20px 0 0}.hero h1 em,.page-intro h1 em{color:var(--camel);font-weight:400}.hero-lead{font-size:clamp(1rem,1.5vw,1.23rem);line-height:1.7;color:var(--muted);max-width:610px;margin:30px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;overflow:hidden;transition:.3s var(--ease)}.btn:before{content:"";position:absolute;inset:0;background:var(--camel);transform:translateY(102%);transition:.38s var(--ease)}.btn span{position:relative;z-index:1}.btn:hover{color:var(--onyx);border-color:var(--camel);transform:translateY(-2px)}.btn:hover:before{transform:none}.btn.primary{background:var(--camel);color:var(--onyx);border-color:var(--camel)}.btn.primary:before{background:var(--linen)}.hero-note{border-left:1px solid var(--line);padding-left:28px;color:var(--muted);line-height:1.6}.hero-note strong{display:block;color:var(--linen);font-size:2.6rem;font-weight:400;margin-top:22px}.scroll-cue{position:absolute;right:30px;bottom:34px;z-index:4;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--muted);display:flex;align-items:center;gap:14px}.scroll-cue:after{content:"";height:70px;width:1px;background:linear-gradient(var(--camel),transparent)}
.manifesto{min-height:78svh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--onyx)}.manifesto .shell{display:grid;grid-template-columns:.35fr 1fr;gap:90px;align-items:start}.manifesto h2{font-size:clamp(3rem,7vw,7.6rem);line-height:.93;letter-spacing:-.045em;font-weight:400;margin:0;max-width:1100px}.manifesto h2 span{color:var(--camel);font-style:italic}.manifesto aside{color:var(--muted);line-height:1.7;padding-top:35px;max-width:620px}.manifesto aside strong{display:block;color:var(--linen);font-weight:400;font-size:1.25rem;margin-bottom:18px}
.services{padding:150px 0;background:var(--onyx)}.services-head{margin-bottom:70px}.services h2,.projects h2,.contact h2{font-size:clamp(3rem,6.4vw,7rem);line-height:.92;letter-spacing:-.045em;font-weight:400;margin:16px 0 0}.projects-top p,.contact p{color:var(--muted);line-height:1.7}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:80px 1fr 60px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.service-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(175,147,113,.08),transparent);transform:translateX(-102%);transition:.5s var(--ease)}.service-row:hover:before{transform:none}.service-row>*{position:relative}.service-row .num{color:var(--camel);font-size:.7rem;letter-spacing:.16em}.service-row h3{font-size:clamp(1.7rem,3vw,3.3rem);font-weight:400;margin:0}.service-row .arrow{justify-self:end;font-size:1.8rem;color:var(--camel);transition:.3s var(--ease)}.service-row:hover .arrow{transform:translateX(8px)}
.locations{padding:clamp(110px,13vw,190px) 0;background:var(--coffee);overflow:hidden}.locations-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(50px,8vw,130px);align-items:center}.locations-map-wrap>.kicker{margin-bottom:26px}.locations-map{position:relative;min-height:610px;aspect-ratio:1.05;border:1px solid var(--line);background:linear-gradient(145deg,#211912,#0c0c0c);overflow:hidden}.locations-map:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(175,147,113,.15),transparent 48%),radial-gradient(circle at 60% 50%,transparent 10%,rgba(12,12,12,.2) 100%);pointer-events:none}.locations-map img{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;filter:grayscale(1) sepia(.34) hue-rotate(330deg) saturate(.5) brightness(.74) contrast(1.1);opacity:.72;mix-blend-mode:screen}.map-credit{position:absolute;right:18px;bottom:15px;z-index:2;color:rgba(239,233,225,.5);font-family:Arial,sans-serif;font-size:.58rem;letter-spacing:.04em}.location-marker{position:absolute;left:76%;top:62%;z-index:3;width:28px;height:38px;transform:translate(-50%,-100%)}.location-marker:before{content:"";position:absolute;left:50%;top:4px;width:16px;height:16px;border:1px solid rgba(184,57,45,.8);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(184,57,45,.12),0 0 0 18px rgba(184,57,45,.06)}.location-marker i{position:absolute;left:50%;top:4px;width:11px;height:11px;border-radius:50%;background:#b8392d;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(12,12,12,.7)}.location-marker b{position:absolute;left:50%;top:4px;width:1px;height:30px;background:linear-gradient(#b8392d,transparent);transform:translateX(-50%)}.map-label{position:absolute;left:calc(76% + 16px);top:calc(62% - 39px);z-index:3;color:var(--linen);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.locations-copy{max-width:570px}.locations-copy h2{font-size:clamp(3rem,6.4vw,7rem);line-height:.92;letter-spacing:-.045em;font-weight:400;margin:16px 0 28px}.locations-copy h2 em{color:var(--camel);font-weight:400}.locations-copy>p{max-width:430px;margin:0 0 48px;color:var(--muted);line-height:1.75;font-size:1.02rem}.city-list{border-top:1px solid var(--line)}.city-list a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),color .35s var(--ease),border-color .35s ease}.city-list a span{color:var(--camel);font-size:.68rem;letter-spacing:.14em}.city-list a strong{font-size:clamp(1.35rem,2vw,1.8rem);font-weight:400}.city-list a i{color:var(--camel);font-style:normal;font-size:1.25rem;opacity:.75;transition:transform .35s var(--ease),opacity .35s ease}.city-list a:hover,.city-list a:focus-visible{padding-left:12px;color:#fff;border-color:rgba(175,147,113,.52);outline:none}.city-list a:hover i,.city-list a:focus-visible i{transform:translateX(7px);opacity:1}
.projects{padding:130px 0 110px;background:var(--coffee);overflow:hidden}.projects-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:54px}.projects-top p{max-width:440px}.project-track{display:flex;gap:28px;width:max-content;padding-left:max(22px,calc((100vw - var(--max))/2))}.project-card{width:min(68vw,900px);height:min(74vh,760px);position:relative;overflow:hidden}.project-card img{transition:transform .9s var(--ease);filter:saturate(.62)}.project-card:after,.grid-project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,12,12,.88),transparent 55%)}.project-card:hover img,.grid-project:hover img{transform:scale(1.035)}.project-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:30px}.project-copy h3{font-size:clamp(2rem,4vw,4.6rem);font-weight:400;margin:8px 0 0}.project-copy small,.grid-project small{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--camel);font-size:.66rem}.section-link{margin-top:44px}.contact{padding:150px 0;background:linear-gradient(135deg,#17120e,var(--coffee));position:relative;overflow:hidden}.split-cta{position:relative;display:flex;align-items:end;justify-content:space-between;gap:40px}.contact-cta p{max-width:560px}.contact-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-details{margin-top:44px;border-top:1px solid var(--line)}.contact-details div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-details span{color:var(--muted)}form{background:rgba(12,12,12,.35);border:1px solid var(--line);padding:44px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}label{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:var(--camel)}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(239,233,225,.25);padding:12px 0;color:var(--linen);outline:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--camel)}select option{background:var(--coffee)}textarea{min-height:120px;resize:vertical}.file-input{border:1px dashed rgba(239,233,225,.34);padding:14px;cursor:pointer}.field small{color:var(--muted);font-size:.76rem}.form-note{font-size:.78rem;margin:20px 0}.success{display:none;margin-top:16px;color:var(--camel)}.success.show{display:block}
.subpage{padding-top:90px}.page-intro{position:relative;overflow:hidden;padding:130px 0 120px;background:var(--onyx)}.page-intro .shell{position:relative}.page-intro h1{font-size:clamp(4rem,8vw,8rem)}.page-intro p{max-width:600px;margin:32px 0 0;color:var(--muted);font-size:1.12rem;line-height:1.7}.project-grid-section{padding:120px 0 150px;background:var(--onyx)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-project{min-height:480px;position:relative;overflow:hidden}.grid-project.wide{grid-column:span 2;min-height:600px}.grid-project.tall{min-height:700px}.grid-project img{transition:transform .9s var(--ease);filter:saturate(.62)}.grid-project>div{position:absolute;z-index:1;left:32px;bottom:28px}.grid-project h2{font-size:clamp(2.2rem,4vw,4.6rem);font-weight:400;margin:7px 0 0}.about-story{display:grid;grid-template-columns:1fr 1fr;background:var(--onyx)}.about-story-image{min-height:780px}.about-story-image img{filter:saturate(.5)}.about-story-copy{padding:clamp(70px,10vw,150px) clamp(28px,8vw,130px);align-self:center}.about-story-copy h2{font-size:clamp(3rem,5vw,6rem);line-height:.96;letter-spacing:-.04em;font-weight:400;margin:18px 0 28px}.about-story-copy p{color:var(--muted);line-height:1.75;font-size:1.04rem}.principles{padding:140px 0;background:var(--coffee)}.principle-list{margin-top:70px;border-top:1px solid var(--line)}.principle-list article{display:grid;grid-template-columns:100px 1fr 1fr;gap:32px;align-items:start;padding:38px 0;border-bottom:1px solid var(--line)}.principle-list span{color:var(--camel);font-size:.72rem;letter-spacing:.16em}.principle-list h2{font-weight:400;font-size:clamp(1.7rem,3vw,3rem);margin:0}.principle-list p{margin:0;color:var(--muted);line-height:1.7}.contact-page{padding-top:120px}
footer{padding:44px 0;background:var(--onyx);border-top:1px solid var(--line)}.footer-row{display:flex;justify-content:space-between;align-items:end;gap:40px}.footer-meta{text-align:right;color:var(--muted);font-size:.75rem;line-height:1.7}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:40px;padding-bottom:46px}.footer-brand{align-self:start}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:var(--muted);font-size:.86rem;line-height:1.5}.footer-column h2{margin:0 0 10px;color:var(--linen);font-size:.68rem;font-family:Arial,sans-serif;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.footer-column a{transition:color .25s ease,transform .25s ease}.footer-column a:hover,.footer-column a:focus-visible{color:var(--camel);transform:translateX(3px)}.footer-column p{margin:0}.footer-column strong{color:var(--linen);font-weight:400}.footer-column .footer-phone{font-weight:700}.footer-email{word-break:break-word}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.7}.footer-cvr{white-space:nowrap}.footer-cvr strong{color:var(--linen);font-weight:700}
.policy-page{padding-top:120px}.policy-content{padding:clamp(82px,11vw,150px) 0;background:var(--onyx)}.policy-content .shell{max-width:920px}.policy-content h1{font-size:clamp(3.8rem,8vw,8rem);line-height:.86;letter-spacing:-.055em;font-weight:400;margin:18px 0 70px}.policy-content h1 em{color:var(--camel);font-weight:400}.policy-copy{max-width:760px}.policy-copy section{padding:30px 0;border-top:1px solid var(--line)}.policy-copy h2{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1;font-weight:400;margin:0 0 16px}.policy-copy p,.policy-copy li{color:var(--muted);font-size:1rem;line-height:1.8}.policy-copy p{margin:0 0 16px}.policy-copy p:last-child{margin-bottom:0}.policy-copy ul{margin:0;padding-left:22px}.policy-copy a{color:var(--camel);text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.nav{grid-template-columns:1fr auto}.nav-cta{display:none}.nav-links{position:fixed;inset:0;background:rgba(12,12,12,.98);display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.4s var(--ease);font-size:.95rem}.nav-links.open{transform:none}.menu{display:block;z-index:2}.hero-content,.manifesto .shell,.services-head,.contact-grid{grid-template-columns:1fr}.hero-note{max-width:420px}.services-head{gap:34px}.project-card{width:82vw}.about-story{grid-template-columns:1fr}.about-story-image{min-height:60vh}.project-grid{gap:18px}.grid-project{min-height:380px}.grid-project.tall{min-height:540px}.principle-list article{grid-template-columns:70px 1fr}.principle-list p{grid-column:2}.split-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.shell{width:min(calc(100% - 28px),var(--max))}.nav{height:76px}.brand-copy small{display:none}.hero-content{padding:140px 0 58px;gap:38px}.hero h1,.page-intro h1{font-size:clamp(3.7rem,18vw,6.2rem)}.scroll-cue{display:none}.manifesto{min-height:auto;padding:110px 0}.services,.projects,.contact{padding:105px 0}.service-row{grid-template-columns:42px 1fr 30px;gap:14px}.project-card{width:88vw;height:62vh}.project-copy{left:20px;right:20px;bottom:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}form{padding:28px 20px}.footer-row{align-items:flex-start;flex-direction:column}.footer-meta{text-align:left}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px;padding-bottom:36px}.footer-brand{grid-column:1/-1}.subpage{padding-top:76px}.page-intro{padding:100px 0 90px}.project-grid-section{padding:70px 0}.project-grid{grid-template-columns:1fr}.grid-project,.grid-project.tall,.grid-project.wide{grid-column:auto;min-height:480px}.grid-project>div{left:20px;bottom:20px}.about-story-copy{padding:78px 22px}.principles{padding:100px 0}.principle-list{margin-top:45px}.principle-list article{grid-template-columns:1fr;gap:14px}.principle-list p{grid-column:auto}.contact-page,.policy-page{padding-top:100px}.policy-content{padding:80px 0 100px}.policy-content h1{margin-bottom:48px}.policy-copy h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.cursor-light{display:none}}

/* Kundeanmeldelser */
.hero-content{display:block}.reviews{padding:145px 0;background:var(--onyx);position:relative;overflow:hidden}.reviews-head{position:relative;display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:65px}.reviews h2{font-size:clamp(3rem,6.4vw,7rem);line-height:.92;letter-spacing:-.045em;font-weight:400;margin:16px 0 0}.review-rating{display:grid;gap:4px;justify-items:end;text-align:right}.review-rating>span,.stars{color:var(--camel);letter-spacing:.18em;font-size:1rem}.review-rating strong{font-weight:400;font-size:1.25rem}.review-rating small{color:var(--muted);font-size:.74rem}.review-marquee{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent)}.review-track{display:flex;width:max-content;gap:22px;animation:review-flow 38s linear infinite}.review-track:hover{animation-play-state:paused}.review-card{width:min(420px,calc(100vw - 64px));min-height:260px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:linear-gradient(135deg,rgba(68,53,38,.54),rgba(40,31,23,.25));border:1px solid var(--line)}.review-card blockquote{font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.15;letter-spacing:-.025em;font-weight:400;margin:34px 0}.review-card footer{display:flex;align-items:end;justify-content:space-between;gap:14px;color:var(--muted);font-size:.76rem}.review-card footer strong{color:var(--linen);font-size:.82rem;font-weight:400}.review-card footer span{white-space:nowrap}@keyframes review-flow{to{transform:translateX(calc(-50% - 11px))}}
@media(max-width:980px){.reviews-head{align-items:flex-start;flex-direction:column}.review-rating{justify-items:start;text-align:left}}
@media(prefers-reduced-motion:reduce){.review-marquee{overflow-x:auto;mask-image:none}.review-track{width:max-content}}

/* Tre faglige fokuspunkter på Om os-siden. */
.about-values{padding:clamp(90px,12vw,180px) 0;background:var(--onyx)}.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.about-value{position:relative;min-height:410px;padding:38px 34px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);background:linear-gradient(145deg,rgba(175,147,113,.09),rgba(12,12,12,.18));overflow:hidden}.about-value:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:var(--camel);transform:scaleY(.28);transform-origin:bottom;transition:transform .45s var(--ease)}.about-value:hover:before{transform:scaleY(1)}.about-value:nth-child(2){margin-top:58px;background:linear-gradient(145deg,rgba(68,53,38,.36),rgba(12,12,12,.18))}.about-value span{position:absolute;top:28px;left:34px;color:var(--camel);font-size:.68rem;letter-spacing:.16em}.about-value h2{font-size:clamp(2rem,3.1vw,3.5rem);line-height:.94;letter-spacing:-.04em;font-weight:400;margin:0 0 24px}.about-value p{max-width:360px;margin:0;color:var(--muted);font-size:1rem;line-height:1.75}.about-value:hover{border-color:rgba(175,147,113,.58)}@media(max-width:980px){.about-values-grid{grid-template-columns:1fr}.about-value{min-height:320px}.about-value:nth-child(2){margin-top:0}}@media(max-width:680px){.about-values{padding:78px 0}.about-value{min-height:0;padding:94px 24px 30px}.about-value span{left:24px}.about-value h2{font-size:2.4rem}}

.about-contact{background:var(--onyx)}

.contact-page>.contact{background:var(--onyx)}.contact-page #contactForm{background:var(--coffee)}
.contact-signature{margin:28px 0 0;color:var(--linen)!important;font-size:.9rem;letter-spacing:.04em}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{display:none;margin-top:16px;color:#e9a08f;line-height:1.5}.form-error.show{display:block}.btn[disabled]{opacity:.65;cursor:wait;transform:none}

/* Kontaktformular: varm, taktil og mere overskuelig. */
.contact-page #contactForm{position:relative;overflow:hidden;padding:clamp(30px,4vw,52px);border-color:rgba(175,147,113,.52);background:linear-gradient(145deg,#392c20 0%,var(--coffee) 55%,#211912 100%);box-shadow:0 28px 70px rgba(0,0,0,.34)}.contact-page #contactForm:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(175,147,113,.2),transparent 37%);pointer-events:none}.contact-page #contactForm>*{position:relative;z-index:1}.form-heading{padding:0 0 28px;border-bottom:1px solid rgba(175,147,113,.32)}.form-heading span{display:flex;align-items:center;gap:10px;color:var(--camel);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase}.form-heading span:before{content:"";width:28px;height:1px;background:currentColor}.contact-page #contactForm .form-heading h2{font-size:clamp(2rem,3.4vw,3.35rem);line-height:.95;letter-spacing:-.04em;margin:13px 0 10px}.contact-page #contactForm .form-heading p{margin:0;color:var(--muted);font-size:.94rem}.contact-page #contactForm .form-grid{gap:16px;margin-top:30px}.contact-page #contactForm .field{gap:8px}.contact-page #contactForm input,.contact-page #contactForm select,.contact-page #contactForm textarea{background:rgba(12,12,12,.28);border:1px solid rgba(239,233,225,.2);border-radius:2px;min-height:52px;padding:14px 15px;transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.contact-page #contactForm textarea{min-height:148px}.contact-page #contactForm input:focus,.contact-page #contactForm select:focus,.contact-page #contactForm textarea:focus{background:rgba(12,12,12,.48);border-color:var(--camel);box-shadow:0 0 0 3px rgba(175,147,113,.12);transform:translateY(-1px)}.contact-page #contactForm .file-input{border-style:dashed;background:rgba(12,12,12,.18);padding:13px}.contact-page #contactForm .field small{line-height:1.5}.contact-page #contactForm .form-note{margin:28px 0 20px;padding-top:20px;border-top:1px solid rgba(175,147,113,.2);line-height:1.6}.contact-page #contactForm .btn{min-width:210px;border-color:var(--camel);box-shadow:0 10px 24px rgba(0,0,0,.2)}@media(max-width:680px){.contact-page #contactForm{padding:28px 20px}.contact-page #contactForm .form-heading h2{font-size:2.25rem}.contact-page #contactForm .btn{width:100%}}

/* Udfoldelige ydelser og anmeldelseskilder */
.service-row{grid-template-columns:80px 1fr auto;align-items:start}.service-content{display:block}.service-row .service-description{display:block;max-width:760px;max-height:0;opacity:0;overflow:hidden;color:var(--muted);line-height:1.7;font-size:1rem;transform:translateY(-8px);transition:max-height .55s var(--ease),opacity .3s var(--ease),transform .4s var(--ease);padding-top:0}.service-row .arrow{display:flex;align-items:center;gap:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;opacity:0;transform:translateX(-12px);transition:opacity .3s var(--ease),transform .3s var(--ease);padding-top:13px}.service-row:hover .service-description,.service-row:focus-visible .service-description{max-height:220px;opacity:1;transform:none;padding-top:18px}.service-row:hover .arrow,.service-row:focus-visible .arrow{opacity:1;transform:none}.service-row:hover .arrow{transform:translateX(8px)}.service-row:focus-visible{outline:1px solid var(--camel);outline-offset:5px}
.review-sources{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.review-source{display:flex;align-items:center;gap:12px;min-width:230px;padding:11px 15px;background:var(--linen);color:var(--onyx);transition:transform .3s var(--ease),background .3s var(--ease)}.review-source:hover{background:#fff;transform:translateY(-3px)}.review-source img{width:36px;height:36px;object-fit:contain;flex:0 0 36px}.review-source span{display:grid;gap:3px}.review-source strong{font-family:Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.01em}.review-source small{color:#705a43;font-family:Arial,sans-serif;font-size:.67rem;letter-spacing:.04em}.review-card footer{padding:0;background:transparent;border-top:0;text-align:center;align-items:center;flex-direction:column;gap:5px}.review-card footer span{white-space:normal}
@media(max-width:980px){.review-sources{justify-content:flex-start}.service-row{grid-template-columns:60px 1fr auto}}
@media(max-width:680px){.service-row{grid-template-columns:42px 1fr;gap:14px}.service-row .arrow{grid-column:2;justify-self:start;padding-top:10px}.service-row .service-description{font-size:.94rem}.service-row:hover .service-description,.service-row:focus-visible .service-description{max-height:340px}.review-sources{width:100%}.review-source{flex:1 1 100%;min-width:0}}

/* Forfinet hover-oplevelse i ydelser */
.service-row{padding:32px 0;transition:padding .65s cubic-bezier(.22,1,.36,1),border-color .65s cubic-bezier(.22,1,.36,1)}.service-row:before{background:linear-gradient(90deg,rgba(175,147,113,.15),rgba(175,147,113,.045) 42%,transparent 76%);transform:scaleX(.96);transform-origin:left;opacity:0;transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1)}.service-row:hover:before,.service-row:focus-visible:before{opacity:1;transform:scaleX(1)}.service-row:hover,.service-row:focus-visible{padding-right:18px;padding-left:18px;border-color:rgba(175,147,113,.5)}.service-row h3{transition:color .45s ease,letter-spacing .6s cubic-bezier(.22,1,.36,1)}.service-row:hover h3,.service-row:focus-visible h3{color:#fff;letter-spacing:.008em}.service-row .num{padding-top:13px;transition:color .45s ease,opacity .45s ease}.service-row:hover .num,.service-row:focus-visible .num{color:var(--linen);opacity:.85}.service-row .service-description{max-width:700px;transition:max-height .7s cubic-bezier(.22,1,.36,1),opacity .38s ease .12s,transform .65s cubic-bezier(.22,1,.36,1),padding-top .65s cubic-bezier(.22,1,.36,1)}.service-row .arrow{border-bottom:1px solid transparent;padding:13px 0 5px;transition:opacity .35s ease .16s,transform .65s cubic-bezier(.22,1,.36,1),border-color .4s ease,color .4s ease}.service-row:hover .arrow,.service-row:focus-visible .arrow{transform:none;border-color:var(--camel);color:var(--linen)}.service-row:hover .arrow span,.service-row:focus-visible .arrow span{color:var(--camel)}
@media(max-width:680px){.service-row:hover,.service-row:focus-visible{padding-right:10px;padding-left:10px}}

/* Én samlet række med anmeldelser fra Anmeld Håndværker. */
.review-marquee{margin-top:0}.review-marquee:hover .review-track{animation-play-state:paused}.review-origin{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-family:Arial,sans-serif;font-size:.62rem;letter-spacing:.04em}

/* Mere kompakte anmeldelseskort */
.review-card{width:min(320px,calc(100vw - 54px));min-height:205px;padding:22px}.review-card blockquote{font-size:clamp(1.2rem,1.8vw,1.55rem);margin:20px 0;line-height:1.22}.review-card .stars{font-size:.82rem}.review-track{gap:16px}.review-origin{font-size:.58rem}.review-origin img{width:14px;height:14px}

/* Lavere slider-række og links til de enkelte anmeldelser. */
.review-marquee{margin-top:0}.review-card{position:relative;height:220px;min-height:220px;padding:18px}.review-card:before{content:"";position:absolute;right:16px;bottom:16px;width:36px;height:36px;background:url("https://www.anmeld-haandvaerker.dk/themes/custom/ah/images/svg/high.svg") center/contain no-repeat}.review-title{margin:18px 0 0;color:var(--linen);font-size:1rem;line-height:1.24;font-weight:400;letter-spacing:.01em}.review-card blockquote{display:none}.review-card:focus-visible{outline:2px solid var(--linen);outline-offset:4px}

/* Det farvede logo med gennemsigtig baggrund i samme faste størrelse som før. */
.brand{width:116px;height:116px;min-height:116px;padding:0;background:transparent;border:0}.brand:before{content:"";display:block;width:100%;height:100%;background-color:transparent;background-image:url("Logo/PNG/Tømrermester-Merrild-Logo-Farve.png");background-position:center;background-size:contain;background-repeat:no-repeat}.brand-mark,.brand-copy{display:none}
@media(max-width:680px){.brand{width:92px;height:92px;min-height:92px;padding:0}}

/* Et tættere, roligt forløb uden tomme felter mellem anmeldelserne. */
.nav{height:120px}.subpage{padding-top:120px}.reviews{background:linear-gradient(180deg,#0c0c0c 0%,#17120e 50%,#0c0c0c 100%)}.review-marquee{padding:4px 0;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}.review-track{gap:18px;animation:review-flow 70s linear infinite;will-change:transform}.review-card{background:linear-gradient(135deg,rgba(68,53,38,.72),rgba(40,31,23,.42));transition:transform .35s var(--ease),border-color .35s ease,box-shadow .35s ease}.review-card:nth-child(3n + 2){background:linear-gradient(135deg,rgba(112,90,67,.54),rgba(68,53,38,.48))}.review-card:nth-child(3n){background:linear-gradient(135deg,rgba(40,31,23,.78),rgba(68,53,38,.48))}.review-card:hover{transform:scale(1.025);border-color:rgba(255,255,255,.2);box-shadow:0 18px 42px rgba(0,0,0,.22)}@keyframes review-flow{to{transform:translateX(calc(-50% - 9px))}}
@media(max-width:680px){.nav{height:100px}.subpage{padding-top:100px}}

/* Det brede tagprojekt beskæres tættere omkring huset. */
.grid-project.wide.tag-project{height:520px;min-height:0;align-self:start}.grid-project.tag-project img{object-position:center 42%;transform:scale(1.55)}
@media(max-width:680px){.grid-project.wide.tag-project{height:340px;min-height:0}}

@media(max-width:980px){.locations-layout{grid-template-columns:1fr;gap:72px}.locations-copy{max-width:680px}.locations-map{min-height:500px;max-width:760px}}
@media(max-width:680px){.locations{padding:100px 0}.locations-layout{gap:52px}.locations-map{min-height:360px}.locations-map img{inset:5%;width:90%;height:90%}.locations-copy h2{font-size:clamp(3.2rem,15vw,5.5rem)}.locations-copy>p{margin-bottom:36px}.city-list a{grid-template-columns:34px 1fr auto;gap:12px;padding:14px 0}.city-list a strong{font-size:1.35rem}.map-label{font-size:.58rem;left:calc(76% + 11px);top:calc(62% - 34px)}.location-marker{transform:translate(-50%,-92%);scale:.88}}

/* Område: byerne først, kortet til højre og en mere enkel kortflade. */
.locations-layout{grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);grid-template-areas:"copy map"}.locations-copy{grid-area:copy}.locations-map-wrap{grid-area:map}.locations-map{background:#17120e;border-color:rgba(175,147,113,.18)}.locations-map:after{background:transparent}.locations-map img{inset:3%;width:94%;height:94%;clip-path:inset(0 0 8% 0);filter:grayscale(1) contrast(1.25) brightness(.52);opacity:.56;mix-blend-mode:screen}.location-marker:before{width:10px;height:10px;border:0;background:#b8392d;box-shadow:0 0 0 3px rgba(184,57,45,.14);transform:translate(-50%,-50%)}.location-marker i{display:none}.location-marker b{height:22px;background:linear-gradient(#b8392d,transparent)}.map-label{display:none}
@media(max-width:980px){.locations-layout{grid-template-columns:1fr;grid-template-areas:"copy" "map"}}

/* Minimalistisk Sjællandskort med markører for de syv arbejdsbyer. */
.locations-map{background:#000}.locations-map img{inset:3%;width:94%;height:94%;object-fit:contain;clip-path:none;filter:none;opacity:1;mix-blend-mode:normal}.locations-copy>p{display:none}.city-marker{position:absolute;z-index:4;width:10px;height:10px;border-radius:50%;background:#b8392d;box-shadow:0 0 0 3px rgba(184,57,45,.17);transform:translate(-50%,-50%)}.city-marker-kobenhavn{left:73%;top:27%}.city-marker-roskilde{left:58%;top:30%}.city-marker-koege{left:68%;top:40%}.city-marker-hilleroed{left:71%;top:17%}.city-marker-helsingoer{left:79%;top:13%}.city-marker-naestved{left:48%;top:61%}.city-marker-slagelse{left:30%;top:44%}
.locations-map-art{position:absolute;top:3%;left:50%;height:94%;width:auto;aspect-ratio:3 / 4;transform:translateX(-50%)}.locations-map-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.city-marker-kobenhavn{left:91.6%;top:33.7%}.city-marker-roskilde{left:65.2%;top:36.1%}.city-marker-koege{left:70.7%;top:49.3%}.city-marker-hilleroed{left:77%;top:15.4%}.city-marker-helsingoer{left:94.1%;top:7.7%}.city-marker-naestved{left:47.9%;top:65.8%}.city-marker-slagelse{left:25.9%;top:53.3%}
.city-marker{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.city-marker.is-active{transform:translate(-50%,-50%) scale(1.35);box-shadow:0 0 0 4px rgba(184,57,45,.22),0 0 24px 8px rgba(184,57,45,.48)}
