/* Felles uttrykk for tilvalg og serviceportal. */
.portal-page{font-size:16px}
.portal-page .eyebrow{font-size:14px;letter-spacing:.09em;line-height:1.6}
.portal-draft{font-size:14px;letter-spacing:.025em}
.portal-header nav{gap:24px}
.portal-header nav>a[aria-current=page]{box-shadow:inset 0 -3px var(--yellow)}
.portal-header nav>.text-link{font-size:16px;border:0;padding:12px 0}
.portal-header .login-button{font-size:16px;min-height:46px;align-items:center}
.portal-hero{display:grid;grid-template-columns:1.02fr 1fr;gap:65px;padding-block:60px 76px;align-items:center}
.portal-hero-copy{min-width:0;padding-block:12px}
.portal-hero h1{font-size:clamp(46px,4.8vw,68px);line-height:1.09;letter-spacing:-.055em}
.portal-highlight{color:#b18a00}
.portal-lead{font-size:19px;line-height:1.75;margin-top:27px;max-width:510px}
.portal-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-block:30px}
.portal-hero-actions .button{gap:16px;font-size:16px}
.portal-hero-actions .text-link{font-size:16px}
.portal-development{font-size:14px;display:flex;align-items:center;gap:10px;color:var(--muted);line-height:1.55}
.portal-development>span{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px var(--sand)}
.portal-hero-figure{min-width:0;background:var(--sand)}
.portal-hero-figure>img{width:100%;height:520px;object-fit:cover;object-position:58% center}
.portal-hero-figure>figcaption{font-size:14px;line-height:1.6;padding:17px 20px;color:var(--muted)}
.portal-field-service>img{object-position:58% center}
.portal-plan{background:var(--sand);padding-block:76px}
.portal-section-heading{display:grid;grid-template-columns:.9fr 2fr;gap:50px;margin-bottom:38px;align-items:start}
.portal-section-heading .eyebrow{padding-top:6px}
.portal-section-heading h2{font-size:clamp(32px,3.5vw,46px)}
.portal-section-heading>div>p{font-size:17px;line-height:1.75;margin-top:22px;max-width:700px}
.portal-steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;border-top:1px solid var(--line)}
.portal-steps>li{padding:29px 28px 0 0;min-width:0}
.portal-steps>li+li{border-left:1px solid var(--line);padding-left:28px}
.portal-step-number{font-family:var(--heading);font-size:32px;line-height:1;color:var(--ink);letter-spacing:-.03em}
.portal-steps h3{font-size:25px;line-height:1.25;margin:24px 0 14px}
.portal-steps p{font-size:16px;line-height:1.75}
.portal-inspiration{padding-block:85px}
.portal-product-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.portal-product-gallery figure{min-width:0}
.portal-product-gallery img{width:100%;height:320px;object-fit:cover;background:var(--sand)}
.portal-product-gallery img[src$="tilvalg-plisse.webp"]{object-position:58% center}
.portal-product-gallery img[src$="tilvalg-rullegardin.webp"]{object-position:58% center}
.portal-product-gallery img[src*="tilvalg-markise-utsikt.webp"]{object-position:85% center}
.portal-product-gallery figcaption{padding-block:20px;border-bottom:1px solid var(--line)}
.portal-product-gallery figcaption strong{display:block;font-family:var(--heading);font-size:22px;line-height:1.35;font-weight:500;letter-spacing:-.02em}
.portal-product-gallery figcaption span{display:block;margin-top:8px;font-size:16px;color:var(--muted);line-height:1.6}
.portal-image-note{font-size:14px;line-height:1.7;margin-top:19px}
.portal-audiences{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:55px;margin-top:48px;border-top:1px solid var(--line)}
.portal-audiences article{min-width:0}
.portal-audiences h3{font-size:28px;line-height:1.3}
.portal-audiences .eyebrow{margin-bottom:17px}
.portal-audiences p:not(.eyebrow){font-size:17px;line-height:1.75;margin-top:17px;max-width:510px}
.portal-audiences .text-link{font-size:16px;margin-top:20px}
.portal-story{padding-block:85px;display:grid;grid-template-columns:1.06fr 1fr;gap:70px;align-items:center}
.portal-story-copy{min-width:0}
.portal-story-copy h2{font-size:clamp(32px,3.5vw,46px)}
.portal-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;margin-top:24px}
.portal-team-photo{margin-top:32px}
.portal-team-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.portal-team-photo figcaption{font-size:14px;line-height:1.6;margin-top:12px;color:var(--muted)}
.portal-history-example{background:var(--sand);padding:30px;border:1px solid var(--line);min-width:0}
.portal-history-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:23px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;flex-wrap:wrap}
.portal-example-label{background:var(--yellow);color:var(--ink);padding:4px 9px;font-size:14px;letter-spacing:.035em}
.portal-history-kicker{font-size:14px;letter-spacing:.08em;margin-top:29px}
.portal-history-example>h3{font-size:28px;margin:12px 0 25px;line-height:1.3}
.portal-history-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 15px;padding-block:24px;border-top:1px solid var(--line)}
.portal-unit{grid-row:1/3;font-family:monospace;align-self:start;font-size:17px;padding:10px;background:var(--paper);line-height:1.4}
.portal-history-row h4{font-family:var(--heading);font-size:18px;font-weight:600;line-height:1.4;margin:0}
.portal-history-row p{font-size:16px;line-height:1.65;margin-top:7px}
.portal-history-state{grid-column:2;justify-self:start;padding:4px 10px;font-size:14px;background:var(--dark);color:var(--paper);border-radius:2px}
.portal-state-pending{background:#fff0ad;color:#574100}
.portal-history-bottom{border-top:1px solid var(--line);padding-top:24px}
.portal-history-bottom strong{font-size:16px;font-weight:600}
.portal-history-bottom p{font-size:15px;line-height:1.8;margin-top:8px}
.portal-example-note{font-size:14px;line-height:1.65;margin-top:24px}
.portal-service-start{padding-block:0 85px;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}
.portal-service-start h2{font-size:clamp(32px,3.5vw,44px)}
.portal-service-start>div>p:not(.eyebrow){font-size:17px;line-height:1.75;margin-top:22px;max-width:480px}
.portal-service-options article{padding-block:24px;border-top:1px solid var(--line)}
.portal-service-options h3{font-size:25px;line-height:1.3}
.portal-service-options p{font-size:16px;line-height:1.75;margin-top:14px}
.portal-service-options .text-link{font-size:16px;margin-top:16px}
.portal-closing{background:var(--yellow);padding-block:70px}
.portal-closing-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:90px;align-items:center}
.portal-closing h2{font-size:clamp(34px,3.5vw,48px)}
.portal-closing p:not(.eyebrow){color:#383227;font-size:17px;line-height:1.75;margin-top:23px;max-width:610px}
.portal-closing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:30px}
.portal-dark-button{background:var(--dark);color:var(--paper);font-size:16px;gap:16px}
.portal-dark-button:hover{background:#353535}
.portal-closing .text-link{font-size:16px;border-color:#7b6410}
.portal-closing :focus-visible{outline-color:var(--ink)}
.portal-contact-details{border-left:1px solid #b99912;padding-left:40px;min-width:0}
.portal-contact-details>a:not(.text-link){display:block;font-size:20px;overflow-wrap:anywhere}
.portal-contact-details>a:first-child{font-family:var(--heading);font-size:31px;line-height:1.5;letter-spacing:-.03em}
.portal-contact-details .text-link{margin-top:17px}
.portal-footer{font-size:14px;line-height:1.7}
.portal-footer>a:first-child{font-size:14px;font-weight:700;letter-spacing:.055em}
.portal-access-dialog{padding:45px;position:fixed}
.portal-access-dialog .eyebrow{font-size:14px;padding-right:35px}
.portal-access-dialog h2{font-size:36px;line-height:1.2;outline:none}
.portal-access-dialog #portal-access-content{margin-top:22px}
.portal-access-dialog p,.portal-access-dialog .form-note,.portal-access-dialog small{font-size:16px;line-height:1.75}
.portal-access-dialog .button,.portal-access-dialog .text-link{font-size:16px;margin-top:22px}
.portal-page .login-roles>div>span,.portal-page .login-roles small{font-size:14px}
.portal-page .login-roles p{font-size:16px}

@media(max-width:1100px){
  .portal-header nav{gap:20px}
  .portal-header nav.is-open{align-items:center}
  .portal-header nav>.text-link{justify-self:start}
  .portal-hero{gap:38px;padding-block:40px 60px}
  .portal-hero h1{font-size:54px}
  .portal-lead{font-size:18px}
  .portal-hero-figure>img{height:520px}
  .portal-section-heading{grid-template-columns:.8fr 2fr;gap:35px}
  .portal-product-gallery{gap:18px}
  .portal-product-gallery img{height:280px}
  .portal-story{gap:40px}
  .portal-history-example{padding:24px}
  .portal-closing-grid{gap:50px}
  .portal-service-start{gap:50px}
}
@media(max-width:820px){
  .portal-hero{grid-template-columns:1fr;gap:30px}
  .portal-hero-copy{max-width:650px}
  .portal-hero h1{font-size:clamp(46px,7vw,60px)}
  .portal-hero-figure>img{height:430px;object-position:center}
  .portal-field-service>img{object-position:58% center}
  .portal-section-heading{grid-template-columns:1fr;gap:0}
  .portal-section-heading .eyebrow{margin-bottom:20px}
  .portal-steps>li{padding-right:18px}
  .portal-steps>li+li{padding-left:18px}
  .portal-steps h3{font-size:23px}
  .portal-product-gallery{grid-template-columns:1fr 1fr}
  .portal-product-gallery figure:last-child{grid-column:1/-1}
  .portal-product-gallery figure:last-child img{height:360px}
  .portal-product-gallery img{height:310px}
  .portal-audiences{gap:35px}
  .portal-story{grid-template-columns:1fr;gap:36px}
  .portal-story-copy{max-width:700px}
  .portal-team-photo img{max-height:480px;object-position:center 65%}
  .portal-history-example{width:100%;max-width:640px;margin-inline:auto}
  .portal-service-start{grid-template-columns:1fr;gap:30px}
  .portal-service-options{display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .portal-closing-grid{grid-template-columns:1fr;gap:38px}
  .portal-contact-details{border-left:0;border-top:1px solid #b99912;padding:28px 0 0}
}
@media(max-width:580px){
  .portal-draft{justify-content:center;padding:8px 16px}
  .portal-draft>span:first-child{font-size:14px;letter-spacing:.05em}
  .portal-header nav.is-open{grid-template-columns:1fr;gap:4px}
  .portal-header nav>a{padding-block:12px}
  .portal-header .login-button{justify-content:space-between;margin-top:10px}
  .portal-hero{padding-block:32px 44px}
  .portal-hero h1{font-size:clamp(40px,11vw,54px)}
  .portal-hero .eyebrow{margin-bottom:20px}
  .portal-lead{font-size:17px;margin-top:23px}
  .portal-hero-actions .button{width:100%;justify-content:space-between;padding-inline:17px;gap:12px}
  .portal-hero-figure>img{height:320px}
  .portal-field-service>img{object-position:58% center}
  .portal-hero-figure>figcaption{padding:14px 16px}
  .portal-plan{padding-block:52px}
  .portal-section-heading{margin-bottom:30px}
  .portal-section-heading h2,.portal-story-copy h2,.portal-service-start h2{font-size:34px}
  .portal-section-heading>div>p{font-size:16px;margin-top:20px}
  .portal-steps{grid-template-columns:1fr}
  .portal-steps>li,.portal-steps>li+li{padding:25px 0;border-left:0}
  .portal-steps>li+li{border-top:1px solid var(--line)}
  .portal-steps>li:last-child{padding-bottom:0}
  .portal-step-number{font-size:28px}
  .portal-steps h3{font-size:26px;margin-top:18px}
  .portal-inspiration,.portal-story{padding-block:55px}
  .portal-product-gallery{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .portal-product-gallery img,.portal-product-gallery figure:last-child img{height:310px}
  .portal-product-gallery figcaption{padding-block:18px}
  .portal-audiences{grid-template-columns:1fr;gap:33px;margin-top:35px;padding-top:33px}
  .portal-audiences article+article{border-top:1px solid var(--line);padding-top:30px}
  .portal-audiences h3{font-size:27px}
  .portal-audiences p:not(.eyebrow){font-size:16px}
  .portal-history-example{padding:20px}
  .portal-history-example>h3{font-size:25px}
  .portal-history-row{gap:10px}
  .portal-unit{font-size:16px;padding:8px}
  .portal-history-row h4{font-size:17px}
  .portal-history-row p{font-size:16px}
  .portal-service-start{padding-bottom:55px}
  .portal-service-options{grid-template-columns:1fr;gap:0}
  .portal-closing{padding-block:52px}
  .portal-closing h2{font-size:35px}
  .portal-closing p:not(.eyebrow){font-size:16px}
  .portal-dark-button{width:100%;justify-content:space-between;padding-inline:17px;gap:12px}
  .portal-contact-details>a:first-child{font-size:31px}
  .portal-contact-details>a:not(.text-link){font-size:19px}
  .portal-footer{align-items:flex-start;gap:10px 24px}
  .portal-footer>a:first-child{width:100%}
  .portal-access-dialog{padding:36px 24px}
  .portal-access-dialog h2{font-size:31px}
  .portal-access-dialog .button{width:100%}
}
