:root{--paper:#3d2d1d;--ink:#eadbc7;--muted:#c4b29b;--line:#6b5641;--brand:#dac9b2;--menu:#2e2117;--serif:Baskerville,"Iowan Old Style","Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:5px}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:18px;top:18px;background:var(--paper);padding:10px 15px;z-index:300}.header{position:fixed;inset:0 0 auto;height:96px;z-index:100;pointer-events:none}.menu-button{position:absolute;right:24px;top:24px;border:0;background:none;padding:10px 0 10px 10px;min-height:44px;color:var(--brand);font:600 11px/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;pointer-events:auto}.menu-button i{display:inline-block;width:25px;height:1px;background:currentColor;vertical-align:middle;margin-left:13px;position:relative}.menu-button i::before,.menu-button i::after{content:"";position:absolute;left:0;width:25px;height:1px;background:currentColor}.menu-button i::before{top:-7px}.menu-button i::after{top:7px}.drawer{position:fixed;inset:0;z-index:200;background:#eadbc7;color:#3d2d1d;visibility:hidden;opacity:0;transition:opacity .22s,visibility .22s;overscroll-behavior:contain}.drawer.open{visibility:visible;opacity:1}.drawer-inner{height:100%;width:min(1120px,calc(100% - 48px));margin:auto;padding:34px 0 50px;display:flex;flex-direction:column}.drawer-top{text-align:right}.close{position:fixed;right:24px;top:24px;border:0;background:none;color:#3d2d1d;padding:10px 0 10px 10px;min-height:44px;font:600 11px/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;cursor:pointer}.drawer nav{margin:auto 0}.drawer nav a{display:block;width:max-content;color:#3d2d1d;font:400 clamp(2.5rem,6vw,5.2rem)/1.12 var(--serif);letter-spacing:.02em;text-transform:uppercase;margin:.13em 0}.drawer nav a:hover{color:#765b3e}.drawer nav .brand-switch{margin-top:.55em;padding-top:.45em;border-top:1px solid currentColor;font-family:var(--sans);font-size:clamp(.8rem,1.4vw,1.05rem);font-weight:600;letter-spacing:.22em;opacity:.82}.drawer-bottom{display:flex;gap:26px;color:#765f49;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.drawer-bottom a[aria-current=true]{color:#3d2d1d}.subpage{padding-top:96px}.page-head{min-height:58vh;display:flex;align-items:flex-end;padding:90px 0 100px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brand);margin-bottom:25px}.page-title{max-width:1000px;font:400 clamp(4rem,10vw,8.5rem)/.9 var(--serif);letter-spacing:-.045em;margin:0}.service-subtitle{display:block;margin:34px 0 0;color:var(--ink)}.service-subtitle strong{font:400 clamp(1.7rem,3vw,2.65rem)/1.15 var(--serif)}.section{padding:105px 0;border-top:1px solid var(--line)}.services-accordion{max-width:1000px}.service-accordion{margin:0;padding:0;border:0;border-bottom:1px solid var(--line)}.service-accordion-title{list-style:none}.service-accordion-title::-webkit-details-marker{display:none}.service-accordion-title::marker{content:""}.service-title{display:block;min-width:0}.service-title strong{display:block;color:var(--ink);font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.65rem);font-weight:400;line-height:1.15;letter-spacing:normal}.service-accordion-content p{margin:0;color:var(--muted);font:400 1rem/1.85 var(--sans)}.footer{padding:44px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer-row{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer-links{display:flex;gap:24px}.cookie{position:fixed;left:22px;right:22px;bottom:22px;z-index:150;background:var(--menu);color:var(--ink);padding:18px 22px;display:none;align-items:center;justify-content:space-between;gap:20px}.cookie.show{display:flex}.cookie p{margin:0;font-size:12px;color:#e3d3bf}.cookie-actions{display:flex;gap:18px}.cookie button{border:0;background:none;color:inherit;font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;cursor:pointer}.cookie button:last-child{color:#f0dfc8}
@media(min-width:751px){.service-accordion{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);column-gap:clamp(3rem,6vw,6rem);align-items:start}.service-accordion-title{display:block;grid-column:1;padding:2.25rem 0;cursor:default;pointer-events:none}.service-accordion-content{display:block;grid-column:2;padding:2.25rem 0}.service-accordion-content p{max-width:650px}.service-accordion-icon{display:none}}
@media(max-width:750px){.wrap,.drawer-inner{width:min(100% - 32px,1120px)}.header{height:80px}.menu-button{right:20px;top:26px}.close{right:20px;top:26px}.subpage{padding-top:80px}.page-head{min-height:48vh;padding:70px 0 75px}.page-title{font-size:clamp(3.5rem,18vw,6rem)}.section{padding:75px 0}.service-subtitle{white-space:normal}.service-accordion{display:block}.service-accordion-title{display:grid;grid-template-columns:minmax(0,1fr) 1.5rem;gap:1rem;align-items:center;min-height:76px;padding:1.5rem 0;cursor:pointer}.service-title strong{font-size:1.65rem;line-height:1.15}.service-accordion-content{width:100%;padding:0 2.5rem 1.75rem 0}.service-accordion-content p{font-size:.98rem;line-height:1.75}.service-accordion-icon{position:relative;display:block;width:1.25rem;height:1.25rem;justify-self:end}.service-accordion-icon::before,.service-accordion-icon::after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1px;background:var(--brand);transform:translate(-50%,-50%);transition:transform 180ms ease}.service-accordion-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.service-accordion[open] .service-accordion-icon::after{transform:translate(-50%,-50%) rotate(0)}.cookie{left:10px;right:10px;bottom:10px;align-items:flex-start;flex-direction:column}}
@media(max-width:360px){.drawer nav a{font-size:clamp(1.8rem,9vw,2.5rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Minni fyrirsögn á services-síðum, bæði íslensku og ensku */
.services-page .page-title {
    max-width: 1050px;
    font-size: clamp(3rem, 6.2vw, 6.2rem);
    line-height: 0.96;
}

/* Farsímar */
@media (max-width: 750px) {
    .services-page .page-title {
        font-size: clamp(2.5rem, 11vw, 3.8rem);
        line-height: 1;
    }
}

/* Instagram-tákn í footer */

.footer-links {
    display: flex;
    align-items: center;
    gap: 24px;
}

.instagram-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 44px;
    min-height: 44px;

    color: var(--muted);
    opacity: 0.92;

    transition:
        color 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

.instagram-link svg {
    display: block;
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
}

.instagram-link .instagram-dot {
    fill: currentColor;
    stroke: none;
}

.instagram-link:hover {
    color: var(--brand);
    opacity: 1;
    transform: translateY(-1px);
}

.instagram-link:focus-visible {
    color: var(--brand);
    opacity: 1;
}


/* Center the JUSTUM home-page logo in the visual viewport. */
.home{min-height:100vh;min-height:100dvh;overflow:hidden}
.home-main{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:0 24px}
.home-logo{width:min(560px,72vw);margin:0;transform:translateY(-24px)}
.home-logo img{display:block;width:100%;height:auto;margin:0}
@media(max-width:750px){.home-main{padding:0 16px}.home-logo{width:min(88vw,560px);transform:translateY(-16px)}}


/* Contact page layout and form controls. */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,10vw,10rem);align-items:start}
.contact-list p{margin:0 0 2rem;color:var(--ink)}
.contact-list small{display:block;margin-bottom:.35rem;color:var(--brand);font:600 10px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.contact-list a{color:var(--ink);text-decoration:underline;text-underline-offset:.2em}
.form{display:grid;gap:1.75rem}
.field label{display:block;margin-bottom:.5rem;color:var(--brand);font:600 10px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.field input,.field textarea{display:block;width:100%;padding:.7rem 0;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;background:transparent;color:var(--ink);font:400 16px/1.5 var(--sans)}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--brand)}
.submit{justify-self:start;border:0;border-bottom:1px solid var(--brand);padding:0 0 .45rem;background:transparent;color:var(--brand);font:600 11px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
@media(max-width:750px){.contact-grid{grid-template-columns:1fr;gap:3.5rem}}
