/*
Theme Name: Sutnist
Theme URI: https://sutnist.art/
Author: Sutnist
Description: Clean, responsive editorial home theme for Sutnist with independent Desktop / Tablet / Phone controls.
Version: 2.0.6
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: sutnist
*/

:root{--sutnist-cream:#F3EFE8;--sutnist-forest:#102317;--sutnist-scroll:#496b5a;--sutnist-scroll-track:#06120b}
*{box-sizing:border-box}
html{margin:0;padding:0;scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;padding:0;min-height:100%;background:var(--sutnist-forest);color:var(--sutnist-cream);overflow-x:hidden;overflow-y:auto!important;font-family:"Source Sans 3",Arial,sans-serif}
body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--sutnist-scroll-track)}body::-webkit-scrollbar-thumb{background:var(--sutnist-scroll);border:2px solid var(--sutnist-scroll-track);border-radius:10px}body{scrollbar-color:var(--sutnist-scroll) var(--sutnist-scroll-track);scrollbar-width:thin}
#wpadminbar{z-index:10000}.wp-site-blocks,.site,#page{overflow:visible!important}
.sutnist-home{position:relative;width:100%;min-height:var(--page-height,190vh);overflow:visible;isolation:isolate;background:var(--bg-image) var(--bg-position,center center)/var(--bg-size,cover) no-repeat;padding-bottom:20vh}
.sutnist-home::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:rgba(0,0,0,var(--bg-overlay,0))}
.sutnist-home>*{box-sizing:border-box}

/* Logo */
.sutnist-logo{position:absolute;z-index:50;top:var(--logo-top);left:var(--logo-x);width:var(--logo-width);aspect-ratio:var(--logo-ratio,3.9);transform:translateX(-50%);display:block}
.sutnist-logo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.sutnist-logo__word{opacity:0;filter:blur(var(--logo-softness,10px));transform:scale(1.02);transform-origin:center;mix-blend-mode:screen;animation: sutnist-logo-fade calc(var(--logo-duration) * var(--speed,1)) ease calc(var(--logo-delay) * var(--speed,1)) both}
.sutnist-logo__i{opacity:0;filter:blur(.6px);transform-origin:center;mix-blend-mode:screen;animation: sutnist-logo-i-draw calc(var(--logo-i-duration) * var(--speed,1)) cubic-bezier(.2,.72,.2,1) calc(var(--logo-i-total-delay) * var(--speed,1)) both}
@keyframes sutnist-logo-fade{from{opacity:0;filter:blur(var(--logo-softness,10px));transform:scale(1.02)}to{opacity:var(--logo-opacity,1);filter:blur(0);transform:scale(1)}}
@keyframes sutnist-logo-material{from{opacity:0;filter:blur(var(--logo-softness,10px));transform:scale(1.035);clip-path:inset(100% 0 0 0)}to{opacity:var(--logo-opacity,1);filter:blur(0);transform:scale(1);clip-path:inset(0 0 0 0)}}
@keyframes sutnist-logo-wipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:var(--logo-opacity,1);clip-path:inset(0 0 0 0)}}
@keyframes sutnist-logo-i-draw{from{opacity:0;filter:blur(.6px);clip-path:inset(100% 0 0 0)}to{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0)}}
@keyframes sutnist-logo-i-fade{from{opacity:0;filter:blur(.6px)}to{opacity:1;filter:blur(0)}}
@keyframes sutnist-logo-i-wipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.sutnist-logo[data-logo-animation="material"] .sutnist-logo__word{animation-name:sutnist-logo-material}
.sutnist-logo[data-logo-animation="wipe"] .sutnist-logo__word{animation-name:sutnist-logo-wipe}
.sutnist-logo[data-logo-i-animation="fade"] .sutnist-logo__i{animation-name:sutnist-logo-i-fade}
.sutnist-logo[data-logo-i-animation="wipe"] .sutnist-logo__i{animation-name:sutnist-logo-i-wipe}

/* Core entrance animations. These are intentionally CSS-driven so slogan/navigation/panel remain visible even if JavaScript is delayed. */
@keyframes sutnist-slogan-in{from{opacity:0}to{opacity:1}}
@keyframes sutnist-nav-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
@keyframes sutnist-panel-in{from{opacity:0;transform:scaleX(.76)}to{opacity:var(--panel-opacity,.82);transform:scaleX(1)}}

/* Slogan */
.sutnist-slogan{position:absolute;animation:sutnist-slogan-in calc(var(--slogan-duration) * var(--speed,1)) ease calc(var(--slogan-delay) * var(--speed,1)) both;z-index:40;top:var(--slogan-top);left:50%;width:min(var(--slogan-width),96vw);transform:translateX(-50%);transform-origin:center top;text-align:center;color:var(--slogan-color);font-family:var(--slogan-font);font-size:var(--slogan-size);font-style:var(--slogan-style);font-weight:var(--slogan-weight);letter-spacing:var(--slogan-spacing);word-spacing:var(--slogan-word-spacing,normal);line-height:var(--slogan-lineheight);opacity:0;transition:opacity var(--slogan-duration) ease,transform var(--slogan-duration) ease;white-space:normal}
.sutnist-slogan__scale{display:block;transform:scaleY(var(--slogan-height-scale,1));transform-origin:center top}
.sutnist-home.slogan-visible .sutnist-slogan{opacity:1}
.sutnist-home.animations-off .sutnist-slogan{opacity:1}

/* Studio */
.sutnist-studio{position:absolute;animation:sutnist-studio-in calc(var(--studio-duration) * var(--speed,1)) cubic-bezier(.18,.72,.16,1) calc(var(--studio-delay) * var(--speed,1)) both;z-index:8;top:calc(var(--studio-top) + var(--studio-y));left:calc(100% - var(--studio-width) + var(--studio-x));width:var(--studio-width);height:var(--studio-height);min-height:1px;overflow:hidden;opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0);transition:opacity var(--studio-duration) cubic-bezier(.18,.72,.16,1),transform var(--studio-duration) cubic-bezier(.18,.72,.16,1),clip-path var(--studio-duration) cubic-bezier(.18,.72,.16,1)}
.sutnist-home.studio-visible .sutnist-studio{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}
.sutnist-studio__image{display:block;width:100%;max-width:none;height:100%;object-position:center center}
@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"]{height:auto}@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"] .sutnist-studio__image{height:auto;object-fit:initial}.sutnist-studio[data-fit="cover"] .sutnist-studio__image{height:100%;object-fit:cover}.sutnist-studio[data-fit="contain"] .sutnist-studio__image{height:100%;object-fit:contain}
.sutnist-studio-light{position:absolute;animation:sutnist-light-in calc(var(--light-duration) * var(--speed,1)) cubic-bezier(.2,.7,.2,1) calc(var(--light-delay) * var(--speed,1)) both;z-index:2;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent calc(38% - (var(--light-scatter) * .22%)),color-mix(in srgb,var(--light-color) 7%,transparent) 48%,transparent calc(58% + (var(--light-scatter) * .22%))),radial-gradient(ellipse at var(--light-x) var(--light-y),var(--light-color) 0%,color-mix(in srgb,var(--light-color) 78%,transparent) calc(7% + (var(--light-scatter) * .23%)),color-mix(in srgb,var(--light-color) 28%,transparent) calc(16% + (var(--light-scatter) * .34%)),transparent calc(30% + (var(--light-scatter) * .62%)));mix-blend-mode:screen;opacity:0;transform:scale(calc(.72 + (var(--light-scatter) * .0028)));transition:opacity var(--light-duration) cubic-bezier(.2,.7,.2,1),transform var(--light-duration) cubic-bezier(.2,.7,.2,1)}
@keyframes sutnist-light-in{from{opacity:0;transform:scale(calc(.72 + (var(--light-scatter) * .0028)))}to{opacity:var(--light-opacity);transform:scale(1)}}
.sutnist-home.light-visible .sutnist-studio-light{opacity:var(--light-opacity);transform:scale(1)}

/* Manifesto: typed normally, then moves back onto the wall */
.sutnist-manifesto{position:absolute;z-index:6;left:var(--manifesto-start-x);top:var(--manifesto-start-y);width:min(var(--manifesto-width),90%);transform:translate(-50%,-50%) scaleY(var(--manifesto-height-scale,1));transform-origin:center;color:var(--manifesto-color);text-align:center;font-family:var(--manifesto-font);font-size:var(--manifesto-size);font-style:var(--manifesto-style);font-weight:var(--manifesto-weight);letter-spacing:var(--manifesto-spacing);word-spacing:var(--manifesto-word-spacing,normal);line-height:var(--manifesto-lineheight);opacity:0;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.12);transition:opacity 300ms ease,transform var(--manifesto-wall-duration) cubic-bezier(.18,.72,.16,1),filter var(--manifesto-wall-duration) ease}
.sutnist-manifesto__ghost{display:block;white-space:pre-wrap;visibility:hidden}.sutnist-manifesto__content{position:absolute;inset:0;display:block;white-space:pre-wrap}.sutnist-manifesto.is-writing{opacity:1}
.sutnist-manifesto__structured{white-space:normal}.sutnist-manifesto__intro,.sutnist-manifesto__paragraphs p{margin:0 0 1.1em;white-space:pre-wrap}.sutnist-manifesto__intro{font-family:var(--manifesto-intro-font);font-size:var(--manifesto-intro-size);font-weight:var(--manifesto-intro-weight);font-style:var(--manifesto-intro-style);color:var(--manifesto-intro-color);letter-spacing:var(--manifesto-intro-spacing);word-spacing:var(--manifesto-intro-word-spacing);line-height:var(--manifesto-intro-lineheight);transform:scaleY(var(--manifesto-intro-height-scale,1));transform-origin:center top}.sutnist-manifesto__paragraphs p:last-child{margin-bottom:0}.sutnist-manifesto__structured [data-char]{opacity:0;transition:opacity 70ms linear}.sutnist-manifesto.is-on-wall .sutnist-manifesto__structured [data-char]{opacity:1}.sutnist-manifesto.is-on-wall{opacity:var(--manifesto-wall-opacity);transform:translate(calc(-50% + var(--manifesto-wall-x)),calc(-50% + var(--manifesto-wall-y))) scale(var(--manifesto-wall-scale)) scaleY(var(--manifesto-height-scale,1));filter:blur(var(--manifesto-wall-blur));mix-blend-mode:screen}

/* Bottom text line */
.sutnist-bottom-text{position:fixed;z-index:46;left:var(--bottom-text-x);top:calc(100svh - var(--bottom-text-bottom));width:min(var(--bottom-text-width),96vw);transform:translate(-50%,-100%) scaleY(var(--bottom-text-height-scale,1));transform-origin:center bottom;text-align:center;color:var(--bottom-text-color);font-family:var(--bottom-text-font);font-size:var(--bottom-text-size);font-style:var(--bottom-text-style);font-weight:var(--bottom-text-weight);letter-spacing:var(--bottom-text-spacing);word-spacing:var(--bottom-text-word-spacing);line-height:var(--bottom-text-lineheight);white-space:normal;animation:sutnist-bottom-text-in var(--bottom-text-duration) ease var(--bottom-text-delay) both;pointer-events:none}
.sutnist-bottom-text.is-empty{display:none}
@keyframes sutnist-bottom-text-in{from{opacity:0;transform:translate(-50%,-100%) scaleY(var(--bottom-text-height-scale,1))}to{opacity:1;transform:translate(-50%,-100%) scaleY(var(--bottom-text-height-scale,1))}}

/* Navigation + curved panel */
.sutnist-nav{position:absolute;animation:sutnist-nav-in calc(700ms * var(--speed,1)) ease calc(var(--nav-delay) * var(--speed,1)) both;z-index:45;left:var(--nav-left);top:var(--nav-top);width:var(--nav-width);display:flex;flex-direction:column;align-items:flex-start;opacity:0;transform:translateX(-18px);transition:opacity 700ms ease,transform 700ms ease}
.sutnist-home.nav-visible .sutnist-nav{opacity:1;transform:none}
.sutnist-nav::before{content:"";animation:sutnist-panel-in calc(var(--panel-duration) * var(--speed,1)) cubic-bezier(.2,.7,.2,1) calc(var(--panel-delay) * var(--speed,1)) both;position:absolute;z-index:-1;pointer-events:none;left:var(--panel-left-effective,var(--panel-left));top:var(--panel-top-effective,var(--panel-top));width:var(--panel-width);height:var(--panel-height-effective,var(--panel-height));border-radius:var(--panel-radius);background:var(--panel-color);opacity:0;transform:scaleX(.76);transform-origin:left center;transition:opacity var(--panel-duration) cubic-bezier(.2,.7,.2,1),transform var(--panel-duration) cubic-bezier(.2,.7,.2,1)}
.sutnist-home.panel-visible .sutnist-nav::before{opacity:var(--panel-opacity);transform:scaleX(1)}
.sutnist-nav a{position:relative;display:inline-block;margin:0 0 var(--gap-desktop,1.5vh);padding:2px 3px;color:var(--nav-color);text-decoration:none;font-family:var(--nav-font);font-size:var(--nav-size);word-spacing:var(--nav-word-spacing,normal);font-style:var(--nav-style);font-weight:var(--nav-weight);letter-spacing:var(--nav-spacing);line-height:var(--nav-lineheight);transform:scaleY(var(--nav-height-scale,1));transform-origin:left top;transition:color 180ms ease}
.sutnist-nav a:hover,.sutnist-nav a:focus-visible{color:var(--nav-hover-color)}
.sutnist-nav a::after{content:"";position:absolute;z-index:-1;left:0;bottom:calc(var(--brush-gap) * -1);width:var(--brush-width);height:var(--brush-height);background:var(--brush-image) center/100% 100% no-repeat;opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity var(--brush-duration) ease,transform var(--brush-duration) cubic-bezier(.2,.7,.2,1)}
.sutnist-nav a:hover::after,.sutnist-nav a:focus-visible::after{opacity:1;transform:scaleX(1)}

/* Action icons */
.sutnist-actions{position:absolute;animation:sutnist-actions-in calc(500ms * var(--speed,1)) ease calc(var(--logo-i-total-delay) * var(--speed,1) + 200ms) both;z-index:55;top:var(--icon-top);right:var(--icon-right);display:flex;gap:var(--icon-gap);align-items:center;opacity:0;transition:opacity 500ms ease,transform 500ms ease}.sutnist-home.actions-visible .sutnist-actions{opacity:1}@keyframes sutnist-actions-in{from{opacity:0}to{opacity:1}}
.sutnist-actions a{display:block;width:var(--icon-size);height:var(--icon-size);transition:opacity 180ms ease}.sutnist-actions a:hover,.sutnist-actions a:focus-visible{opacity:var(--icon-hover)}.sutnist-actions img{display:block;width:100%;height:100%;object-fit:contain}

/* Logged-in WordPress adds an admin bar above the site.
   The design value remains 1.5 cm from the actual viewport top. */
body.admin-bar{--sutnist-adminbar-offset:32px}
@media (max-width:782px){body.admin-bar{--sutnist-adminbar-offset:46px}}

/* The bottom line is pinned to the bottom of the first viewport by home.js. */
.sutnist-bottom-text{top:auto;bottom:var(--bottom-text-bottom)}

/* Device overrides */
@media (min-width:901px){.sutnist-home{--device:desktop}}
@media (min-width:601px) and (max-width:900px){.sutnist-home{--device:tablet}.sutnist-logo{width:var(--tablet-logo-width);top:var(--tablet-logo-top);left:var(--tablet-logo-x)}.sutnist-slogan{top:var(--tablet-slogan-top);width:var(--tablet-slogan-width);font-family:var(--tablet-slogan-font);font-size:var(--tablet-slogan-size);font-weight:var(--tablet-slogan-weight);letter-spacing:var(--tablet-slogan-spacing);line-height:var(--tablet-slogan-lineheight);font-style:var(--tablet-slogan-style);color:var(--tablet-slogan-color);word-spacing:var(--tablet-slogan-word-spacing,normal)}.sutnist-slogan__scale{transform:scaleY(var(--tablet-slogan-height-scale,1))}.sutnist-studio{--studio-opacity:var(--tablet-studio-opacity);width:var(--tablet-studio-width);height:var(--tablet-studio-height);left:calc(100% - var(--tablet-studio-width) + var(--tablet-studio-x));top:calc(var(--tablet-studio-top) + var(--tablet-studio-y));opacity:0}@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"]{height:auto}@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"] .sutnist-studio__image{height:auto;object-fit:initial}.sutnist-studio[data-fit="cover"] .sutnist-studio__image{height:100%;object-fit:cover}.sutnist-studio[data-fit="contain"] .sutnist-studio__image{height:100%;object-fit:contain}.sutnist-studio-light{--light-opacity:var(--tablet-light-opacity);--light-x:var(--tablet-light-x);--light-y:var(--tablet-light-y);--light-color:var(--tablet-light-color);--light-scatter:var(--tablet-light-scatter)}.sutnist-nav{left:var(--tablet-nav-left);top:var(--tablet-nav-top);width:var(--tablet-nav-width)}.sutnist-nav a{--item-gap:var(--gap-tablet,1.5vh);font-family:var(--tablet-nav-font);font-size:var(--tablet-nav-size);font-weight:var(--tablet-nav-weight);letter-spacing:var(--tablet-nav-spacing);line-height:var(--tablet-nav-lineheight);font-style:var(--tablet-nav-style);color:var(--tablet-nav-color);word-spacing:var(--tablet-nav-word-spacing,normal)}.sutnist-nav::before{--panel-opacity:var(--tablet-panel-opacity);width:var(--tablet-panel-width);height:var(--panel-height-effective,var(--tablet-panel-height));left:var(--tablet-panel-left);top:var(--panel-top-effective,var(--tablet-panel-top));border-radius:var(--tablet-panel-radius)}.sutnist-manifesto__intro{font-family:var(--tablet-manifesto-intro-font);font-size:var(--tablet-manifesto-intro-size);font-weight:var(--tablet-manifesto-intro-weight);font-style:var(--tablet-manifesto-intro-style);color:var(--tablet-manifesto-intro-color);letter-spacing:var(--tablet-manifesto-intro-spacing);word-spacing:var(--tablet-manifesto-intro-word-spacing);line-height:var(--tablet-manifesto-intro-lineheight);transform:scaleY(var(--tablet-manifesto-intro-height-scale,1))}.sutnist-manifesto{left:var(--tablet-manifesto-start-x);top:var(--tablet-manifesto-start-y);width:min(var(--tablet-manifesto-width),90%);font-family:var(--tablet-manifesto-font);font-size:var(--tablet-manifesto-size);font-weight:var(--tablet-manifesto-weight);letter-spacing:var(--tablet-manifesto-spacing);line-height:var(--tablet-manifesto-lineheight);font-style:var(--tablet-manifesto-style);color:var(--tablet-manifesto-color);word-spacing:var(--tablet-manifesto-word-spacing,normal)}.sutnist-manifesto.is-on-wall{transform:translate(calc(-50% + var(--tablet-manifesto-wall-x)),calc(-50% + var(--tablet-manifesto-wall-y))) scale(var(--tablet-manifesto-wall-scale)) scaleY(var(--tablet-manifesto-height-scale,1))}.sutnist-manifesto{--manifesto-wall-opacity:var(--tablet-manifesto-wall-opacity);--manifesto-wall-blur:var(--tablet-manifesto-wall-blur)}.sutnist-actions{top:var(--tablet-icon-top);right:var(--tablet-icon-right);gap:var(--tablet-icon-gap)}.sutnist-actions a{width:var(--tablet-icon-size);height:var(--tablet-icon-size)}.sutnist-bottom-text{left:var(--tablet-bottom-text-x);top:var(--bottom-text-top-effective);bottom:auto;width:min(var(--tablet-bottom-text-width),96vw);transform:translate(-50%,-100%) scaleY(var(--tablet-bottom-text-height-scale,1));font-family:var(--tablet-bottom-text-font);font-size:var(--tablet-bottom-text-size);font-weight:var(--tablet-bottom-text-weight);letter-spacing:var(--tablet-bottom-text-spacing);word-spacing:var(--tablet-bottom-text-word-spacing);line-height:var(--tablet-bottom-text-lineheight);font-style:var(--tablet-bottom-text-style);color:var(--tablet-bottom-text-color);animation-duration:var(--tablet-bottom-text-duration);animation-delay:var(--tablet-bottom-text-delay)}.sutnist-home.animations-off .sutnist-bottom-text{opacity:1;transform:translate(-50%,-100%) scaleY(var(--tablet-bottom-text-height-scale,1))}}
@media (max-width:600px){.sutnist-home{--device:mobile;min-height:225vh}.sutnist-logo{width:var(--mobile-logo-width);top:var(--mobile-logo-top);left:var(--mobile-logo-x)}.sutnist-slogan{top:var(--mobile-slogan-top);width:var(--mobile-slogan-width);font-family:var(--mobile-slogan-font);font-size:var(--mobile-slogan-size);font-weight:var(--mobile-slogan-weight);letter-spacing:var(--mobile-slogan-spacing);line-height:var(--mobile-slogan-lineheight);font-style:var(--mobile-slogan-style);color:var(--mobile-slogan-color);word-spacing:var(--mobile-slogan-word-spacing,normal)}.sutnist-slogan__scale{transform:scaleY(var(--mobile-slogan-height-scale,1))}.sutnist-studio{--studio-opacity:var(--mobile-studio-opacity);width:var(--mobile-studio-width);height:var(--mobile-studio-height);left:calc(100% - var(--mobile-studio-width) + var(--mobile-studio-x));top:calc(var(--mobile-studio-top) + var(--mobile-studio-y));opacity:0}@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"]{height:auto}@keyframes sutnist-studio-in{from{opacity:0;transform:translateY(10px);clip-path:inset(0 100% 0 0)}to{opacity:var(--studio-opacity);transform:none;clip-path:inset(0 0 0 0)}}
.sutnist-studio[data-fit="natural"] .sutnist-studio__image{height:auto;object-fit:initial}.sutnist-studio[data-fit="cover"] .sutnist-studio__image{height:100%;object-fit:cover}.sutnist-studio[data-fit="contain"] .sutnist-studio__image{height:100%;object-fit:contain}.sutnist-studio-light{--light-opacity:var(--mobile-light-opacity);--light-x:var(--mobile-light-x);--light-y:var(--mobile-light-y);--light-color:var(--mobile-light-color);--light-scatter:var(--mobile-light-scatter)}.sutnist-nav{left:var(--mobile-nav-left);top:var(--mobile-nav-top);width:var(--mobile-nav-width)}.sutnist-nav a{--item-gap:var(--gap-mobile,1.5vh);font-family:var(--mobile-nav-font);font-size:var(--mobile-nav-size);font-weight:var(--mobile-nav-weight);letter-spacing:var(--mobile-nav-spacing);line-height:var(--mobile-nav-lineheight);font-style:var(--mobile-nav-style);color:var(--mobile-nav-color);word-spacing:var(--mobile-nav-word-spacing,normal)}.sutnist-nav::before{--panel-opacity:var(--mobile-panel-opacity);width:var(--mobile-panel-width);height:var(--panel-height-effective,var(--mobile-panel-height));left:var(--mobile-panel-left);top:var(--panel-top-effective,var(--mobile-panel-top));border-radius:var(--mobile-panel-radius)}.sutnist-manifesto__intro{font-family:var(--mobile-manifesto-intro-font);font-size:var(--mobile-manifesto-intro-size);font-weight:var(--mobile-manifesto-intro-weight);font-style:var(--mobile-manifesto-intro-style);color:var(--mobile-manifesto-intro-color);letter-spacing:var(--mobile-manifesto-intro-spacing);word-spacing:var(--mobile-manifesto-intro-word-spacing);line-height:var(--mobile-manifesto-intro-lineheight);transform:scaleY(var(--mobile-manifesto-intro-height-scale,1))}.sutnist-manifesto{left:var(--mobile-manifesto-start-x);top:var(--mobile-manifesto-start-y);width:min(var(--mobile-manifesto-width),90%);font-family:var(--mobile-manifesto-font);font-size:var(--mobile-manifesto-size);font-weight:var(--mobile-manifesto-weight);letter-spacing:var(--mobile-manifesto-spacing);line-height:var(--mobile-manifesto-lineheight);font-style:var(--mobile-manifesto-style);color:var(--mobile-manifesto-color);word-spacing:var(--mobile-manifesto-word-spacing,normal)}.sutnist-manifesto.is-on-wall{transform:translate(calc(-50% + var(--mobile-manifesto-wall-x)),calc(-50% + var(--mobile-manifesto-wall-y))) scale(var(--mobile-manifesto-wall-scale)) scaleY(var(--mobile-manifesto-height-scale,1))}.sutnist-manifesto{--manifesto-wall-opacity:var(--mobile-manifesto-wall-opacity);--manifesto-wall-blur:var(--mobile-manifesto-wall-blur)}.sutnist-actions{top:var(--mobile-icon-top);right:var(--mobile-icon-right);gap:var(--mobile-icon-gap)}.sutnist-actions a{width:var(--mobile-icon-size);height:var(--mobile-icon-size)}.sutnist-bottom-text{left:var(--mobile-bottom-text-x);top:var(--bottom-text-top-effective);bottom:auto;width:min(var(--mobile-bottom-text-width),96vw);transform:translate(-50%,-100%) scaleY(var(--mobile-bottom-text-height-scale,1));font-family:var(--mobile-bottom-text-font);font-size:var(--mobile-bottom-text-size);font-weight:var(--mobile-bottom-text-weight);letter-spacing:var(--mobile-bottom-text-spacing);word-spacing:var(--mobile-bottom-text-word-spacing);line-height:var(--mobile-bottom-text-lineheight);font-style:var(--mobile-bottom-text-style);color:var(--mobile-bottom-text-color);animation-duration:var(--mobile-bottom-text-duration);animation-delay:var(--mobile-bottom-text-delay)}.sutnist-home.animations-off .sutnist-bottom-text{opacity:1;transform:translate(-50%,-100%) scaleY(var(--mobile-bottom-text-height-scale,1))} }

.sutnist-home.animations-off *{animation:none!important;transition:none!important}.sutnist-home.animations-off .sutnist-logo__word{opacity:var(--logo-opacity,1);filter:none;transform:none;clip-path:none}.sutnist-home.animations-off .sutnist-logo__i{opacity:1;filter:none;clip-path:none}.sutnist-home.animations-off .sutnist-slogan,.sutnist-home.animations-off .sutnist-studio,.sutnist-home.animations-off .sutnist-nav,.sutnist-home.animations-off .sutnist-actions{opacity:1;transform:none;clip-path:none}.sutnist-home.animations-off .sutnist-nav::before{opacity:var(--panel-opacity);transform:none;animation:none!important}.sutnist-home.animations-off .sutnist-studio-light{opacity:var(--light-opacity);transform:none}.sutnist-home.animations-off .sutnist-manifesto{opacity:var(--manifesto-wall-opacity);transform:translate(calc(-50% + var(--manifesto-wall-x)),calc(-50% + var(--manifesto-wall-y))) scale(var(--manifesto-wall-scale)) scaleY(var(--manifesto-height-scale,1));filter:blur(var(--manifesto-wall-blur))}.sutnist-home.animations-off .sutnist-manifesto__content{visibility:visible}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sutnist-home *{transition-duration:1ms!important}}

/* Patch: logo is anchored to the viewport top spacing value; bottom line is always viewport-bottom anchored. */
.sutnist-logo{top:var(--logo-top)!important}
.sutnist-bottom-text{position:fixed!important;top:auto!important;bottom:var(--bottom-text-bottom)!important}
@media (min-width:601px) and (max-width:900px){.sutnist-logo{top:var(--tablet-logo-top)!important}.sutnist-bottom-text{bottom:var(--tablet-bottom-text-bottom)!important}}
@media (max-width:600px){.sutnist-logo{top:var(--mobile-logo-top)!important}.sutnist-bottom-text{bottom:var(--mobile-bottom-text-bottom)!important}}


/* Patch 3: explicit logo lift, true first-viewport bottom line, manifesto brush and panel color. */
.sutnist-logo{top:calc(var(--logo-top) + var(--logo-offset-y,0cm))!important}
.sutnist-bottom-text{position:absolute!important;top:calc(100svh - var(--bottom-text-bottom))!important;bottom:auto!important}
.sutnist-nav::before{background:var(--panel-color)!important}
.sutnist-manifesto__brush{display:block;width:var(--manifesto-brush-width,72%);height:var(--manifesto-brush-height,42px);margin:0 auto 1.1em;position:relative;left:var(--manifesto-brush-x,0%);top:var(--manifesto-brush-y,0px);background:var(--manifesto-brush-image) center/100% 100% no-repeat;opacity:0;clip-path:inset(0 100% 0 0);transform-origin:left center;pointer-events:none;flex:none}
.sutnist-manifesto__brush.is-drawing{opacity:1;animation:sutnist-manifesto-brush-draw var(--manifesto-brush-duration,900ms) cubic-bezier(.2,.72,.2,1) both}
.sutnist-manifesto.is-writing .sutnist-manifesto__brush.is-drawing,.sutnist-manifesto.is-on-wall .sutnist-manifesto__brush{opacity:1;clip-path:inset(0 0 0 0)}
@keyframes sutnist-manifesto-brush-draw{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media (min-width:601px) and (max-width:900px){
  .sutnist-logo{top:calc(var(--tablet-logo-top) + var(--tablet-logo-offset-y,0cm))!important}
  .sutnist-bottom-text{left:var(--tablet-bottom-text-x);top:calc(100svh - var(--tablet-bottom-text-bottom))!important;bottom:auto!important}
  .sutnist-nav::before{background:var(--tablet-panel-color)!important}
  .sutnist-manifesto__brush{width:var(--tablet-manifesto-brush-width,72%);height:var(--tablet-manifesto-brush-height,42px);left:var(--tablet-manifesto-brush-x,0%);top:var(--tablet-manifesto-brush-y,0px);background-image:var(--tablet-manifesto-brush-image);}
  .sutnist-manifesto__brush.is-drawing{animation-duration:var(--tablet-manifesto-brush-duration,900ms)}
}
@media (max-width:600px){
  .sutnist-logo{top:calc(var(--mobile-logo-top) + var(--mobile-logo-offset-y,0cm))!important}
  .sutnist-bottom-text{left:var(--mobile-bottom-text-x);top:calc(100svh - var(--mobile-bottom-text-bottom))!important;bottom:auto!important}
  .sutnist-nav::before{background:var(--mobile-panel-color)!important}
  .sutnist-manifesto__brush{width:var(--mobile-manifesto-brush-width,72%);height:var(--mobile-manifesto-brush-height,42px);left:var(--mobile-manifesto-brush-x,0%);top:var(--mobile-manifesto-brush-y,0px);background-image:var(--mobile-manifesto-brush-image);}
  .sutnist-manifesto__brush.is-drawing{animation-duration:var(--mobile-manifesto-brush-duration,900ms)}
}


/* Sutnist 2.0.4 — targeted fixes only */
/* The bottom line is anchored to the viewport bottom and never follows page content. */
.sutnist-bottom-text{position:fixed!important;top:auto!important;bottom:var(--bottom-text-bottom)!important}
@media (min-width:601px) and (max-width:900px){.sutnist-bottom-text{position:fixed!important;top:auto!important;bottom:var(--tablet-bottom-text-bottom)!important}}
@media (max-width:600px){.sutnist-bottom-text{position:fixed!important;top:auto!important;bottom:var(--mobile-bottom-text-bottom)!important}}

/* Account/cart appear on exactly the same entrance timing as the navigation. */
.sutnist-actions{animation-name:sutnist-actions-in!important;animation-duration:calc(700ms * var(--speed,1))!important;animation-delay:calc(var(--nav-delay) * var(--speed,1))!important}

/* Manifesto characters are revealed by JS one-by-one; do not force all characters visible. */
.sutnist-manifesto__structured [data-char]{opacity:0;transition:opacity 70ms linear}

/* The manifesto brush is a drawing element and stays hidden until its exact sequence point. */
.sutnist-manifesto__brush{opacity:0;clip-path:inset(0 100% 0 0)}
.sutnist-manifesto__brush.is-drawing{opacity:1;clip-path:inset(0 0 0 0);animation:sutnist-manifesto-brush-draw var(--manifesto-brush-duration,900ms) cubic-bezier(.2,.72,.2,1) both}
.sutnist-manifesto.is-on-wall .sutnist-manifesto__brush{opacity:1;clip-path:inset(0 0 0 0)}

/* Keep the existing i animation and make its separate delay explicit. */
.sutnist-logo__i{animation-delay:calc((var(--logo-delay) + var(--logo-duration) + var(--logo-i-delay)) * var(--speed,1))!important}


/* Final stability patch: bottom line is anchored to the viewport, never to page flow. */
.sutnist-bottom-text{
  position:fixed!important;
  left:var(--bottom-text-x)!important;
  right:auto!important;
  top:auto!important;
  bottom:var(--bottom-text-bottom)!important;
  transform:translate(-50%,100%) scaleY(var(--bottom-text-height-scale,1))!important;
  transform-origin:center bottom!important;
}
@media (min-width:601px) and (max-width:900px){
  .sutnist-bottom-text{
    left:var(--tablet-bottom-text-x)!important;
    top:auto!important;
    bottom:var(--tablet-bottom-text-bottom)!important;
    transform:translate(-50%,100%) scaleY(var(--tablet-bottom-text-height-scale,1))!important;
  }
}
@media (max-width:600px){
  .sutnist-bottom-text{
    left:var(--mobile-bottom-text-x)!important;
    top:auto!important;
    bottom:var(--mobile-bottom-text-bottom)!important;
    transform:translate(-50%,100%) scaleY(var(--mobile-bottom-text-height-scale,1))!important;
  }
}
.sutnist-home.animations-off .sutnist-bottom-text{
  transform:translate(-50%,100%) scaleY(var(--bottom-text-height-scale,1))!important;
}
@media (min-width:601px) and (max-width:900px){.sutnist-home.animations-off .sutnist-bottom-text{transform:translate(-50%,100%) scaleY(var(--tablet-bottom-text-height-scale,1))!important}}
@media (max-width:600px){.sutnist-home.animations-off .sutnist-bottom-text{transform:translate(-50%,100%) scaleY(var(--mobile-bottom-text-height-scale,1))!important}}

/* Final logo-i timing patch: the existing delay field remains intact, but only 25% of
   that post-word delay is used so the i appears noticeably sooner. */
.sutnist-logo__i{
  animation-delay:calc((var(--logo-delay) + var(--logo-duration) + (var(--logo-i-delay) * .25)) * var(--speed,1))!important;
}

/* Smoother manifesto writing: character fades overlap slightly instead of appearing as
   hard, discrete flashes. The existing typing-speed setting still controls cadence. */
.sutnist-manifesto__structured [data-char]{
  opacity:0;
  transition:opacity 120ms linear!important;
  will-change:opacity;
}


/* Stability patch 2.0.6 */
.sutnist-bottom-text{position:fixed!important;top:auto!important;bottom:var(--bottom-text-bottom)!important;transform:translate(-50%,-100%) scaleY(var(--bottom-text-height-scale,1))!important;z-index:100!important;}
@media (min-width:601px) and (max-width:900px){.sutnist-bottom-text{bottom:var(--tablet-bottom-text-bottom)!important;transform:translate(-50%,-100%) scaleY(var(--tablet-bottom-text-height-scale,1))!important;}}
@media (max-width:600px){.sutnist-bottom-text{bottom:var(--mobile-bottom-text-bottom)!important;transform:translate(-50%,-100%) scaleY(var(--mobile-bottom-text-height-scale,1))!important;}}
.sutnist-manifesto__structured [data-char]{opacity:0;transition:opacity 220ms cubic-bezier(.22,.61,.36,1)!important;will-change:opacity;}
