/* Ten genuinely different hero compositions; common readable content primitives. */
.d-demo{background:var(--demo-bg);color:var(--demo-ink);font-family:Arial,Helvetica,sans-serif;overflow:clip}
.d-demo *{box-sizing:border-box}.d-demo h1,.d-demo h2,.d-demo h3{font-family:var(--demo-font);font-weight:500}.d-demo h1{font-size:clamp(2.8rem,5.5vw,6.4rem);line-height:1.02;max-width:14ch;letter-spacing:-.055em}.d-demo h2{font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.1}.d-demo h3{font-size:1.45rem;letter-spacing:-.025em}.d-demo p{line-height:1.7;max-width:68ch}.d-demo a{color:inherit}
.d-header,.d-section,.d-hero,.d-demo-footer{width:min(1440px,calc(100% - 80px));margin-inline:auto}.d-header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:115px;border-bottom:1px solid color-mix(in srgb,var(--demo-ink) 20%,transparent)}
.d-logo{font-family:var(--demo-font);font-size:1.6rem;line-height:1.1;font-weight:650;text-decoration:none;letter-spacing:-.045em}.d-logo span{display:block;font:10px Arial,sans-serif;letter-spacing:.08em;margin-top:9px;text-transform:uppercase}.d-header nav{display:flex;align-items:center;gap:28px;font-size:.8rem}.d-header nav a{text-decoration:none;padding:13px 0}.d-header nav .d-nav-cta{padding:12px 18px;border:1px solid currentColor;border-radius:3px}
.d-kicker{font:700 .72rem Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;margin-bottom:22px!important}.d-hero-copy{padding-block:36px}.d-lead{font-size:1.03rem;max-width:470px!important}.d-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 25px;margin-top:25px}.d-button{background:var(--demo-accent);color:white!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 23px;border-radius:3px;font-size:.88rem;font-weight:600}.d-quiet{display:inline-block;min-height:44px;padding:10px 0;font-size:.88rem;text-underline-offset:6px}
.d-hero{padding-block:45px 65px;gap:45px;align-items:center}.d-hero-photo{margin:0;position:relative;min-width:0;height:570px;overflow:hidden}.d-hero-photo img{width:100%;height:100%;object-fit:cover}.d-hero-photo figcaption{position:absolute;bottom:0;right:0;color:white;background:#1a242677;font-size:.65rem;padding:6px 10px}.d-hero-note{padding:35px;background:color-mix(in srgb,var(--demo-accent) 10%,var(--demo-bg));border:1px solid color-mix(in srgb,var(--demo-accent) 30%,transparent)}.d-hero-note h2{font-size:2.1rem}.d-index{display:grid;gap:1px}.d-index a{padding:18px 5px;border-block-end:1px solid color-mix(in srgb,var(--demo-ink) 20%,transparent);text-decoration:none;font-size:.9rem}
.d-hero-split{display:grid;grid-template-columns:1fr 1fr}.d-hero-split .d-hero-photo{border-radius:8px 120px 8px 8px}
.d-kvall .d-button{color:#152331!important}.d-kvall .d-header{border-color:#ffffff33}.d-hero-cinema{width:100%;min-height:730px;position:relative;isolation:isolate;display:flex;padding:55px max(40px,calc((100vw - 1440px)/2))}.d-hero-cinema .d-hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.d-hero-cinema:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a1429ed,#111a2966 70%,#0b11162b);z-index:-1}.d-hero-cinema h1{max-width:15ch}.d-cinema-copy{max-width:800px}.d-scroll{display:block;font-size:.64rem;letter-spacing:.15em;margin-top:42px}.d-kvall .d-services article{background:#1e2a37;border-color:#3e4d5d}.d-kvall .d-contact aside,.d-kvall .d-faq details{background:#1c2834}
.d-hero-minimal{padding-block:45px 0}.d-hero-minimal .d-hero-copy{max-width:1000px;padding-bottom:50px}.d-hero-minimal h1{max-width:18ch;font-size:clamp(3.3rem,6vw,7rem)}.d-minimal-media{display:grid;grid-template-columns:2.1fr 1fr;align-items:end;gap:55px}.d-minimal-media .d-hero-photo{height:380px}.d-minimal-media .d-index{margin-bottom:20px}
.d-hero-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}.d-hero-bento .d-hero-copy{grid-column:span 2;padding:30px 20px 30px 0}.d-hero-bento .d-hero-photo{grid-column:span 2;height:500px;border-radius:28px}.d-hero-bento .d-hero-note,.d-hero-bento .d-index{grid-column:span 2;border-radius:24px}.d-hero-bento .d-index{padding:15px 28px;background:var(--demo-accent);color:#fff}.d-hero-bento .d-index a{border-color:#ffffff55}.d-studio .d-services article{border-radius:22px;background:#fff}
.d-hero-centered{text-align:center;display:flex;flex-direction:column;gap:25px}.d-hero-centered .d-hero-copy{padding-top:5px;max-width:900px}.d-hero-centered h1{max-width:16ch;margin-inline:auto;font-size:clamp(3.4rem,6.8vw,7.2rem)}.d-hero-centered p{margin-inline:auto}.d-hero-centered .d-actions{justify-content:center}.d-hero-centered .d-index{display:flex;gap:30px;flex-wrap:wrap;justify-content:center}.d-hero-centered .d-hero-photo{width:100%;height:470px;margin-top:10px;border-radius:50% 50% 0 0 / 12% 12% 0 0}.d-signatur .d-services{text-align:center}
.d-hero-lead{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.d-hero-lead .d-hero-note{padding:45px;background:var(--demo-ink);color:var(--demo-bg);align-self:center}.d-hero-lead .d-hero-photo{grid-column:1/-1;height:380px}.d-fokus .d-process li{border-top:4px solid var(--demo-accent)}
.d-hero-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;position:relative;padding-top:75px}.d-editorial-number{position:absolute;left:40%;top:0;font:italic 7rem Georgia,serif;opacity:.13;line-height:1}.d-hero-editorial .d-hero-photo{height:660px}.d-hero-editorial .d-hero-copy{padding-top:100px}.d-atelje .d-story{grid-template-columns:1fr 1.2fr}.d-atelje .d-story figure{order:2}
.d-hero-panorama{width:100%;padding-top:0;display:grid;gap:0}.d-hero-panorama .d-hero-photo{width:100%;height:620px}.d-hero-panorama .d-hero-copy{position:relative;width:min(950px,calc(100% - 80px));margin:-125px auto 0;padding:50px 65px;background:var(--demo-bg);border-top:7px solid var(--demo-accent)}.d-hero-panorama h1{max-width:16ch}.d-hero-panorama .d-index{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;padding:20px}.d-panorama .d-story figure img{border-radius:0 90px 0 0}
.d-hero-dialog{display:grid;grid-template-columns:1fr 1fr;align-items:center}.d-dialog-card{padding:36px;background:#fff;border:1px solid #c3d5bf;border-radius:18px}.d-dialog-card h2{font-size:2.2rem}.d-dialog-card details{border-bottom:1px solid #cbd9c7;padding:14px 0}.d-dialog-card summary{cursor:pointer;font-weight:600}.d-dialog-card p{font-size:.88rem;margin-top:14px}.d-hero-dialog .d-hero-photo{grid-column:1/-1;height:300px;border-radius:18px}.d-dialog .d-faq details{border-radius:10px}
.d-hero-catalog{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:45px}.d-catalog-nav{position:sticky;top:20px;padding-top:35px}.d-hero-catalog>.d-catalog-nav+.d-hero-copy{padding-top:0}.d-hero-catalog h1{max-width:16ch}.d-hero-catalog .d-hero-photo{height:365px}.d-kompass .d-services{grid-template-columns:1fr}.d-kompass .d-services article{display:grid;grid-template-columns:55px 1fr 1.2fr;gap:16px 24px}.d-kompass .d-services article a{grid-column:2/-1}
.d-section{padding-block:75px;border-top:1px solid color-mix(in srgb,var(--demo-ink) 18%,transparent);scroll-margin-top:25px}.d-sectionhead{margin-bottom:35px}.d-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.d-services article{padding:30px;border:1px solid color-mix(in srgb,var(--demo-ink) 22%,transparent);min-width:0}.d-services article>span{display:block;font-size:.8rem;opacity:.65;margin-bottom:25px}.d-services p,.d-services a{font-size:.9rem}.d-services a{text-underline-offset:6px}
.d-process{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0;padding:0;counter-reset:steps}.d-process li{counter-increment:steps;border-top:1px solid currentColor;padding-top:24px}.d-process li:before{content:'0' counter(steps);display:block;opacity:.6;font-size:.85rem;margin-bottom:20px}.d-process strong{font-size:1.2rem;display:block;margin-bottom:14px;line-height:1.3}.d-process p{font-size:.9rem}
.d-faq{max-width:980px}.d-faq details{padding:22px 25px;border:1px solid color-mix(in srgb,var(--demo-ink) 25%,transparent);margin-bottom:12px;background:color-mix(in srgb,var(--demo-bg) 80%,white)}.d-faq summary{cursor:pointer;font-size:1.1rem;font-weight:600}.d-faq p{margin:18px 0 0;font-size:.93rem}.d-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.d-story figure{margin:0}.d-story img{width:100%;height:450px;object-fit:cover}.d-story figcaption{font-size:.7rem;padding-top:8px;opacity:.7}
.d-contact{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-bottom:90px}.d-contact aside{padding:36px;border:1px solid color-mix(in srgb,var(--demo-ink) 20%,transparent);align-self:start;background:color-mix(in srgb,var(--demo-bg) 85%,white)}.d-contact li{margin-block:8px}.d-contact .d-quiet{display:block;max-width:max-content;margin-top:12px}.d-small{font-size:.76rem;margin-top:24px!important;opacity:.85}.d-demo-footer{border-top:1px solid color-mix(in srgb,var(--demo-ink) 20%,transparent);padding-block:25px;font-size:.72rem}
.d-demo :focus-visible{outline:3px solid var(--demo-accent);outline-offset:5px}.d-kvall :focus-visible{outline-color:#f9d295}
@media(max-width:1000px){.d-header,.d-section,.d-hero,.d-demo-footer{width:calc(100% - 48px)}.d-header nav{gap:18px}.d-logo{font-size:1.35rem}.d-hero{gap:28px}.d-hero-photo{height:450px}.d-services{gap:15px}.d-services article{padding:22px}.d-story,.d-contact{gap:35px}.d-hero-cinema,.d-hero-panorama{width:100%}.d-hero-catalog{grid-template-columns:190px minmax(0,1fr)}.d-hero-editorial .d-hero-photo{height:530px}.d-hero-bento .d-hero-photo{height:450px}}
@media(max-width:720px){.d-header,.d-section,.d-hero,.d-demo-footer{width:calc(100% - 32px)}.d-header{min-height:0;align-items:flex-start;flex-direction:column;gap:14px;padding-block:25px}.d-header nav{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.77rem}.d-header nav a{padding-block:10px}.d-header nav .d-nav-cta{padding:8px 12px}.d-demo h1{font-size:clamp(2.7rem,11.5vw,4.6rem);max-width:16ch}.d-demo h2{font-size:2.2rem}.d-hero{padding-block:25px 40px}.d-hero-copy{padding-block:15px}.d-hero-split,.d-hero-bento,.d-hero-lead,.d-hero-editorial,.d-hero-dialog,.d-hero-catalog,.d-minimal-media{display:grid;grid-template-columns:1fr;gap:25px}.d-hero-photo,.d-hero-bento .d-hero-photo,.d-hero-editorial .d-hero-photo{height:340px}.d-hero-split .d-hero-photo{border-top-right-radius:80px}.d-hero-cinema{width:100%;min-height:660px;padding:40px 24px}.d-hero-cinema .d-hero-photo{height:100%}.d-hero-cinema h1{font-size:3.6rem}.d-cinema-copy{max-width:100%}.d-hero-bento>*{grid-column:auto!important}.d-hero-bento .d-hero-copy{padding:10px 0}.d-hero-centered .d-index{gap:8px 20px}.d-hero-centered .d-hero-photo{height:310px}.d-hero-lead .d-hero-photo{grid-column:auto;height:270px}.d-hero-editorial{padding-top:30px}.d-editorial-number{display:none}.d-hero-editorial .d-hero-copy{padding-top:0}.d-hero-editorial .d-hero-photo{order:2}.d-hero-panorama{width:100%;padding-top:0}.d-hero-panorama .d-hero-photo{height:420px}.d-hero-panorama .d-hero-copy{width:calc(100% - 32px);padding:32px 23px;margin-top:-75px}.d-hero-panorama .d-index{gap:8px 20px;justify-content:flex-start}.d-hero-dialog .d-hero-photo{grid-column:auto;height:235px}.d-dialog-card{padding:25px}.d-catalog-nav{position:static;padding-top:0}.d-catalog-nav .d-index{display:flex;flex-wrap:wrap;gap:10px 20px}.d-catalog-nav .d-index a{font-size:.8rem;padding-block:9px}.d-hero-catalog .d-hero-photo{height:280px}.d-section{padding-block:45px}.d-services,.d-process,.d-story,.d-contact{grid-template-columns:1fr;gap:24px}.d-story img{height:320px}.d-atelje .d-story figure{order:0}.d-kompass .d-services article{grid-template-columns:35px minmax(0,1fr)}.d-kompass .d-services article p,.d-kompass .d-services article a{grid-column:2}.d-contact aside{padding:26px}.d-faq details{padding:20px}.d-header .d-nav-cta{max-width:100%;white-space:normal}.d-hero-note{padding:28px}.d-lead{font-size:1rem}}
@media(max-width:380px){.d-hero-cinema h1{font-size:3.1rem}.d-actions{gap:12px}.d-button{width:100%;text-align:center;padding:13px 16px}.d-demo h1{font-size:2.7rem}}
.d-demo h1,.d-demo h2,.d-demo h3,.d-demo .d-logo{overflow-wrap:anywhere;hyphens:auto}.d-hero>*,.d-section>*{min-width:0}
