
.as-home{
    --as-serif:Georgia,"Times New Roman",serif;
    position:relative;
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    overflow:hidden;
    background:var(--as-light);
    color:var(--as-text)
}
.as-home,.as-home *{box-sizing:border-box}
.as-home img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}

.as-home-hero{
    position:relative;
    min-height:var(--as-hero-height);
    background:var(--as-dark);
    color:#f7f3ed;
    overflow:hidden;
    isolation:isolate
}
.as-home-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--as-hero-x-desktop) var(--as-hero-y-desktop);
    transform:scale(var(--as-hero-scale-desktop));
    transform-origin:var(--as-hero-x-desktop) var(--as-hero-y-desktop);
    z-index:-4
}

/* Desktop composition modes */
.as-hero-desktop-wide .as-home-hero-image{object-fit:cover}
.as-hero-desktop-cropped .as-home-hero-image{object-fit:cover}
.as-hero-desktop-full .as-home-hero-image{object-fit:contain}
.as-hero-desktop-zoomed .as-home-hero-image{object-fit:cover;transform:scale(calc(var(--as-hero-scale-desktop) * 1.18))}
.as-hero-desktop-width-wide .as-home-hero-image{
    inset:auto 0;
    top:var(--as-hero-y-desktop);
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
    transform:translateY(calc(var(--as-hero-y-desktop) * -1)) scale(var(--as-hero-scale-desktop));
    transform-origin:var(--as-hero-x-desktop) var(--as-hero-y-desktop)
}

/* A nearly invisible tonal veil, not a graphic overlay. */
.as-home-scrim{
    position:absolute;
    inset:0;
    z-index:-3;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,.015) 0%,
        rgba(0,0,0,.022) 18%,
        rgba(0,0,0,.034) 38%,
        rgba(0,0,0,.060) 58%,
        rgba(0,0,0,.105) 74%,
        rgba(0,0,0,.180) 88%,
        rgba(0,0,0,.260) 100%
    )
}

/* Seamless photographic fade: many restrained stops prevent visible banding or hard shelves. */
.as-home-photo-fade{
    position:absolute;
    z-index:-2;
    left:0;
    right:0;
    bottom:-2px;
    height:var(--as-photo-fade);
    background:linear-gradient(
        180deg,
        rgba(9,9,9,0) 0%,
        rgba(9,9,9,.006) 8%,
        rgba(9,9,9,.016) 16%,
        rgba(9,9,9,.034) 25%,
        rgba(9,9,9,.065) 34%,
        rgba(9,9,9,.115) 43%,
        rgba(9,9,9,.190) 52%,
        rgba(9,9,9,.295) 61%,
        rgba(9,9,9,.425) 70%,
        rgba(9,9,9,.585) 79%,
        rgba(9,9,9,.755) 87%,
        rgba(9,9,9,.900) 94%,
        var(--as-dark) 100%
    )
}
.as-fade-soft .as-home-photo-fade{opacity:.82}
.as-fade-cinematic .as-home-photo-fade{opacity:1.08}

.as-home-identity{
    position:absolute;
    z-index:2;
    left:clamp(24px,5.5vw,88px);
    right:clamp(24px,5.5vw,88px);
    bottom:clamp(58px,9vh,120px);
    max-width:760px
}
.as-home-eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600}
.as-home-identity h1{margin:0;font-family:var(--as-serif);font-weight:400;font-size:clamp(54px,10vw,150px);line-height:.85;letter-spacing:-.055em;color:inherit}
.as-home-line{max-width:650px;margin:clamp(20px,3vw,34px) 0 0;font-size:clamp(14px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.88)}

.as-home-signature{
    position:relative;
    background:var(--as-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:var(--as-signature-top) clamp(24px,6vw,90px) var(--as-signature-bottom)
}
.as-home-signature img{display:block;width:min(var(--as-signature-width),90vw);height:auto;max-height:48vh;opacity:var(--as-signature-opacity);filter:none}
.as-signature-fade .as-home-signature img{animation:asSignatureReveal 1.1s cubic-bezier(.22,.61,.36,1) both;animation-timeline:view();animation-range:entry 12% cover 38%}
@keyframes asSignatureReveal{from{opacity:0;transform:translateY(12px)}to{opacity:var(--as-signature-opacity);transform:none}}

/* Uploaded atmosphere artwork replaces the browser-generated gradient. */
.as-home-transition{
    display:block;
    width:100%;
    height:var(--as-transition);
    margin-top:-2px;
    background:var(--as-dark);
    overflow:hidden
}
.as-home-transition-art img{
    display:block;
    width:100%;
    height:100%;
    object-fit:fill;
    object-position:center;
    transform:none;
    filter:none
}
.as-home-transition-fallback{
    background:linear-gradient(180deg,var(--as-dark) 0%,var(--as-light) 100%)
}

.as-home-interior{
    min-height:100vh;
    padding:var(--as-interior-top) clamp(24px,7vw,110px) clamp(64px,9vw,140px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:clamp(110px,18vw,260px);
    background:var(--as-light)
}
.as-home-reflection{max-width:var(--as-reflection-width);width:100%}
.as-reflection-center .as-home-reflection{margin-inline:auto;text-align:center}
.as-reflection-left .as-home-reflection{margin-right:auto;text-align:left}
.as-reflection-right .as-home-reflection{margin-left:auto;text-align:right}
.as-home-reflection p{margin:0;font-family:var(--as-serif);font-weight:400;font-size:clamp(34px,6vw,86px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.as-home-nav{border-top:1px solid color-mix(in srgb,var(--as-text) 22%,transparent)}
.as-home-nav a{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid color-mix(in srgb,var(--as-text) 22%,transparent);color:inherit;text-decoration:none;font-family:var(--as-serif);font-size:clamp(24px,3vw,46px);line-height:1.1;transition:padding .25s ease,opacity .25s ease}
.as-nav-arrow{width:clamp(22px,2.5vw,34px);height:clamp(22px,2.5vw,34px);display:inline-flex}
.as-nav-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.as-home-nav a:hover,.as-home-nav a:focus-visible{padding-left:12px}
.as-home-nav a:focus-visible{outline:2px solid currentColor;outline-offset:5px}

body.aloptwah-homepage-active .wp-block-post-title,
body.aloptwah-homepage-active main>.wp-block-group:first-child>.wp-block-post-title{display:none}
body.aloptwah-homepage-active .wp-site-blocks>main{margin-block-start:0}
body.aloptwah-homepage-active .entry-content{margin-block-start:0}

@media (min-width:701px) and (max-width:1100px){
    .as-home-hero{min-height:var(--as-hero-height-tablet)}
    .as-home-hero-image{
        object-position:var(--as-hero-x-tablet) var(--as-hero-y-tablet);
        transform:scale(var(--as-hero-scale-tablet));
        transform-origin:var(--as-hero-x-tablet) var(--as-hero-y-tablet)
    }
    .as-hero-tablet-wide .as-home-hero-image{object-fit:cover}
    .as-hero-tablet-cropped .as-home-hero-image{object-fit:cover}
    .as-hero-tablet-full .as-home-hero-image{object-fit:contain}
    .as-hero-tablet-zoomed .as-home-hero-image{object-fit:cover;transform:scale(calc(var(--as-hero-scale-tablet) * 1.18))}
    .as-hero-tablet-width-wide .as-home-hero-image{
        inset:auto 0;
        top:var(--as-hero-y-tablet);
        width:100%;
        height:auto;
        min-height:0;
        object-fit:contain;
        transform:translateY(calc(var(--as-hero-y-tablet) * -1)) scale(var(--as-hero-scale-tablet));
        transform-origin:var(--as-hero-x-tablet) var(--as-hero-y-tablet)
    }
    .as-home-signature{padding-top:var(--as-signature-top-tablet)}
}

@media(max-width:700px){
    .as-home-hero{min-height:var(--as-hero-height-mobile)}
    .as-home-hero-image{
        object-position:var(--as-hero-x-mobile) var(--as-hero-y-mobile);
        transform:scale(var(--as-hero-scale-mobile));
        transform-origin:var(--as-hero-x-mobile) var(--as-hero-y-mobile)
    }
    .as-hero-mobile-wide .as-home-hero-image{object-fit:cover}
    .as-hero-mobile-cropped .as-home-hero-image{object-fit:cover}
    .as-hero-mobile-full .as-home-hero-image{object-fit:contain}
    .as-hero-mobile-zoomed .as-home-hero-image{object-fit:cover;transform:scale(calc(var(--as-hero-scale-mobile) * 1.18))}
    .as-hero-mobile-width-wide .as-home-hero-image{
        inset:auto 0;
        top:var(--as-hero-y-mobile);
        width:100%;
        height:auto;
        min-height:0;
        object-fit:contain;
        transform:translateY(calc(var(--as-hero-y-mobile) * -1)) scale(var(--as-hero-scale-mobile));
        transform-origin:var(--as-hero-x-mobile) var(--as-hero-y-mobile)
    }
    .as-home-identity{bottom:54px}
    .as-home-identity h1{font-size:clamp(48px,18vw,86px)}
    .as-home-line{max-width:34ch}
    .as-home-photo-fade{height:max(34vh,var(--as-photo-fade))}
    .as-home-signature{
        padding-top:var(--as-signature-top-mobile);
        padding-bottom:clamp(80px,var(--as-signature-bottom),700px)
    }
    .as-home-signature img{width:min(var(--as-signature-mobile),82vw)}
    .as-home-transition{height:max(64vh,var(--as-transition))}
    .as-home-interior{min-height:88vh;gap:120px}
    .as-home-reflection p{font-size:clamp(34px,11vw,56px)}
    .as-home-nav a{padding:20px 0}
    .as-home-nav a:hover{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
    .as-home-nav a{transition:none}
    .as-signature-fade .as-home-signature img{animation:none}
}
@supports not (color:color-mix(in srgb,#000,#fff)){.as-home-nav,.as-home-nav a{border-color:rgba(23,21,18,.22)}}

/* Studio 10.1 — art-directed homepage identity controls */
.as-home-identity h1{
    font-size:clamp(48px,10vw,var(--as-title-size));
    line-height:var(--as-title-leading);
    letter-spacing:var(--as-title-tracking);
    font-weight:var(--as-title-weight);
}
.as-title-font-editorial .as-home-identity h1{font-family:var(--as-serif)}
.as-title-font-modern .as-home-identity h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.as-title-font-system .as-home-identity h1{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.as-title-case-uppercase .as-home-identity h1{text-transform:uppercase}
.as-home-eyebrow{font-size:var(--as-eyebrow-size);letter-spacing:var(--as-eyebrow-tracking)}
.as-home-line{max-width:var(--as-line-width);font-size:clamp(12px,1.5vw,var(--as-line-size));letter-spacing:var(--as-line-tracking);color:rgba(255,255,255,var(--as-line-opacity))}
.as-home-reflection p{font-size:clamp(28px,6vw,var(--as-reflection-size));line-height:var(--as-reflection-leading);letter-spacing:var(--as-reflection-tracking)}
.as-home-nav a{font-size:clamp(18px,3vw,var(--as-nav-size));letter-spacing:var(--as-nav-tracking)}
.as-home-nav a:hover,.as-home-nav a:focus-visible{padding-left:var(--as-nav-haptic)}

.as-home-signature img{
    opacity:var(--as-signature-opacity);
    filter:brightness(0) invert(1) brightness(var(--as-signature-brightness)) blur(var(--as-signature-blur)) drop-shadow(0 0 calc(34px * var(--as-signature-glow)) rgba(255,255,255,calc(.28 * var(--as-signature-glow))));
    transform-origin:center;
    will-change:transform,opacity,filter;
}
.as-haptic-quiet .as-home-signature img{--as-motion-y:4px;--as-motion-scale:.004;--as-film-pulse:.025}
.as-haptic-soft .as-home-signature img{--as-motion-y:8px;--as-motion-scale:.008;--as-film-pulse:.05}
.as-haptic-cinematic .as-home-signature img{--as-motion-y:14px;--as-motion-scale:.014;--as-film-pulse:.09}
.as-signature-fade .as-home-signature img{animation:asSignatureReveal var(--as-signature-duration) cubic-bezier(.22,.61,.36,1) both;animation-timeline:view();animation-range:entry 8% cover 42%}
.as-signature-drift .as-home-signature img{animation:asSignatureDrift var(--as-signature-duration) cubic-bezier(.45,0,.2,1) infinite alternate}
.as-signature-breathe .as-home-signature img{animation:asSignatureBreathe var(--as-signature-duration) ease-in-out infinite}
.as-signature-film .as-home-signature img{animation:asSignatureFilm var(--as-signature-duration) steps(1,end) infinite}
@keyframes asSignatureDrift{
    from{opacity:calc(var(--as-signature-opacity) * .82);transform:translate3d(0,var(--as-motion-y),0) scale(calc(1 - var(--as-motion-scale)))}
    to{opacity:var(--as-signature-opacity);transform:translate3d(0,calc(var(--as-motion-y) * -1),0) scale(calc(1 + var(--as-motion-scale)))}
}
@keyframes asSignatureBreathe{
    0%,100%{opacity:calc(var(--as-signature-opacity) * .78);transform:scale(calc(1 - var(--as-motion-scale)))}
    50%{opacity:var(--as-signature-opacity);transform:scale(calc(1 + var(--as-motion-scale)))}
}
@keyframes asSignatureFilm{
    0%,100%{opacity:var(--as-signature-opacity);transform:translate3d(0,0,0)}
    22%{opacity:calc(var(--as-signature-opacity) - var(--as-film-pulse));transform:translate3d(0,1px,0)}
    23%{opacity:var(--as-signature-opacity);transform:translate3d(0,0,0)}
    67%{opacity:calc(var(--as-signature-opacity) - var(--as-film-pulse));transform:translate3d(.5px,0,0)}
    68%{opacity:var(--as-signature-opacity);transform:translate3d(0,0,0)}
}

@media(max-width:700px){
    .as-home-identity h1{font-size:var(--as-title-size-mobile);letter-spacing:var(--as-title-tracking-mobile)}
    .as-home-reflection p{font-size:var(--as-reflection-size-mobile)}
    .as-home-nav a{font-size:var(--as-nav-size-mobile)}
    .as-home-nav a:hover,.as-home-nav a:focus-visible{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
    .as-signature-fade .as-home-signature img,
    .as-signature-drift .as-home-signature img,
    .as-signature-breathe .as-home-signature img,
    .as-signature-film .as-home-signature img{animation:none}
}
