/* The home is one stationary viewport. The scenes move; the frame stays. */
@font-face{font-family:'Katto Amaranth';src:url('../fonts/amaranth-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Katto Amaranth';src:url('../fonts/amaranth-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
body:has(.katto-deck){font-family:'Katto Amaranth',Arial,sans-serif}
body:not(.block-editor-iframe__body):has(.katto-deck){overflow:hidden;margin:0;height:100vh;height:100dvh;--frame-ink:#f5f3ed;--frame-accent:#f9a735;--frame-line:rgba(245,243,237,.3);--frame-glass:rgba(42,92,61,.34)}
body:has(.katto-deck) .wp-site-blocks>div{margin:0}
.katto-deck{height:100vh;height:100dvh;width:100%;position:relative;margin:0;isolation:isolate;background:#3a7b51}
.katto-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;scroll-behavior:smooth}
.katto-track::-webkit-scrollbar{display:none}
.katto-scene{flex:0 0 100%;width:100%;min-width:0;height:100%;position:relative;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:3vw;padding:115px 5vw 145px;color:var(--scene-ink);background:var(--scene-bg)}
.tone-green{--scene-bg:#3a7b51;--scene-ink:#f5f3ed;--scene-accent:#f9a735}
.tone-orange{--scene-bg:#f9a735;--scene-ink:#153b2a;--scene-accent:#f5f3ed}
.tone-red{--scene-bg:#bd3b45;--scene-ink:#f7e9d4;--scene-accent:#f9a735}
.tone-forest{--scene-bg:#24533b;--scene-ink:#f5f3ed;--scene-accent:#f9a735}
.tone-cream{--scene-bg:#f5f3ed;--scene-ink:#252524;--scene-accent:#3a7b51}
.tone-dark{--scene-bg:#252524;--scene-ink:#f5f3ed;--scene-accent:#f9a735}
.scene-copy{position:relative;z-index:2;min-width:0;max-width:100%}
.scene-kicker{font-size:10px;font-weight:700;letter-spacing:.19em;line-height:1.5;margin:0 0 clamp(22px,4vh,48px)}
.scene-title{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(48px,6.5vw,112px);line-height:.91;font-weight:700;letter-spacing:-.065em;margin:0 0 clamp(18px,3vh,35px)}
.katto-deck .scene-title{font-family:'Katto Amaranth',Arial,sans-serif;letter-spacing:-.045em}
.scene-title em{font-style:normal;color:var(--scene-accent)}
.scene-home .scene-title{font-size:clamp(74px,9.4vw,158px)}
.scene-description{max-width:430px;font-size:clamp(14px,1.15vw,18px);line-height:1.55;margin:0 0 24px}
.scene-link{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.scene-link a{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid currentColor;padding:10px 0;transition:gap .25s ease}
.scene-link a:hover{gap:55px}
.scene-link span{font-size:21px;line-height:1}
.scene-visual{height:min(60vh,570px);position:relative;display:grid;place-items:center;isolation:isolate;min-width:0;pointer-events:none}
.art-word{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(190px,30vw,490px);font-weight:700;line-height:.78;letter-spacing:-.1em;margin:0;position:relative;z-index:2;transition:transform 1s cubic-bezier(.2,.75,.2,1)}
.art-label{position:absolute;bottom:-15px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.17em;z-index:2}
.scene-caption{position:absolute;right:5vw;top:105px;font-size:10px;letter-spacing:.02em;opacity:.75;max-width:40vw;text-align:right}
.gate-art{color:var(--scene-bg)}
.gate-art:before{content:'';position:absolute;inset:0 6%;border-radius:50% 50% 0 0;background:var(--scene-accent);transform:rotate(-10deg);transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}
.gate-art:after{content:'';position:absolute;width:47%;height:64%;bottom:-1px;border-radius:50% 50% 0 0;background:var(--scene-bg);transform:rotate(-10deg) translateX(11%)}
.gate-art .art-word{font-size:clamp(170px,28vw,450px);transform:rotate(-10deg) translate(-5%,-4%);mix-blend-mode:normal}
.scene-home .gate-art .art-word{visibility:hidden}
.mosaic-art:before{content:'';position:absolute;inset:3% 0;background:url('../images/pattern-mosaic.svg') center/cover;transform:rotate(-7deg);box-shadow:20px 25px 0 rgba(21,59,42,.2);transition:transform 1s cubic-bezier(.2,.75,.2,1)}
.mosaic-signature{width:85%;position:relative;z-index:3;background:#352f2f;padding:35px;color:#f9a735;transform:rotate(-7deg)}
.mosaic-signature svg{display:block;width:100%;height:auto}
.scene-visual.generated-art{background-position:center 35%;background-size:cover;background-repeat:no-repeat;height:min(58vh,560px);box-shadow:16px 18px 0 rgba(0,0,0,.09);transform:rotate(-3deg)}
.generated-art .art-label{bottom:14px;left:14px;right:auto;background:#f5f3ed;color:#352f2f;font-size:8px;padding:8px;max-width:85%;transform:rotate(3deg)}
.orbit-art:before,.orbit-art:after{content:'';position:absolute;width:90%;aspect-ratio:1;border-radius:50%;border:clamp(32px,5vw,80px) solid currentColor;opacity:.14;transform:translate(10%,-5%)}
.orbit-art:after{width:60%;transform:translate(-20%,15%);opacity:.25}
.orbit-art .art-word{font-size:clamp(70px,9vw,150px);transform:rotate(-12deg);color:#153b2a;letter-spacing:-.09em}
.film-art{color:#f7e9d4}
.film-art:before{content:'';position:absolute;inset:3% 4%;border:2px solid currentColor;transform:rotate(10deg)}
.film-art:after{content:'';position:absolute;width:64%;aspect-ratio:1;border-radius:50%;background:var(--scene-accent);opacity:.95;transform:translate(15%,0)}
.film-art .art-word{transform:rotate(-12deg);text-shadow:16px 12px 0 #bd3b45;font-size:clamp(200px,31vw,470px)}
.culture-art:before{content:'';position:absolute;inset:0 7%;border:clamp(28px,4vw,60px) solid var(--scene-accent);border-radius:45% 45% 0 0;transform:rotate(10deg)}
.culture-art .art-word{color:var(--scene-accent);transform:rotate(-8deg)}
.connect-art:before{content:'';position:absolute;width:84%;aspect-ratio:1;border-radius:50%;background:#d7d5c9}
.connect-art .art-word{color:var(--scene-accent);transform:rotate(-10deg);font-size:clamp(220px,37vw,580px)}
.imagine-art:before{content:'';position:absolute;inset:0 9%;border:1px solid var(--scene-accent);border-radius:50%;transform:rotate(-28deg)}
.imagine-art:after{content:'';position:absolute;width:82%;height:53%;border:1px solid var(--scene-accent);border-radius:50%;transform:rotate(28deg)}
.imagine-art .art-word{color:var(--scene-accent);transform:rotate(12deg)}
.conversation-art{color:var(--scene-accent)}
.conversation-art:before{content:'';position:absolute;inset:2% 8%;border:1px solid currentColor;border-radius:50%}
.conversation-art .art-word{font-size:clamp(230px,39vw,600px);transform:rotate(-8deg)}
.katto-scene:not(.is-active) .scene-visual:before{transform:rotate(0deg) scale(.9)}
.katto-scene:not(.is-active) .art-word{transform:translateX(25px) rotate(0deg)}
.deck-header,.deck-dock{position:fixed;left:0;right:0;z-index:20;color:var(--frame-ink,#f5f3ed);transition:color .45s ease,background .45s ease,border-color .45s ease}
.deck-header{top:0;height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--frame-line,rgba(255,255,255,.25));margin:0}
body.admin-bar .deck-header{top:32px}
body.admin-bar .katto-deck{height:calc(100dvh - 32px)}
body.admin-bar:has(.katto-deck){height:calc(100dvh - 32px)}
.deck-brand{font-family:'Space Grotesk',Arial,sans-serif;display:block;line-height:.86}
.deck-brand small{display:block;font-family:'DM Sans',Arial,sans-serif;font-weight:700;font-size:9px;letter-spacing:.23em;margin-bottom:5px}
.deck-brand strong{font-size:28px;letter-spacing:-.07em}
.deck-brand svg{width:145px;height:auto;display:block}
.deck-nav{display:flex;gap:34px;align-items:center}
.deck-nav a{font-size:11px;font-weight:700;letter-spacing:.04em;position:relative;padding:8px 0}
.deck-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:right .25s}
.deck-nav a:hover:after{right:0}
.deck-menu-toggle{display:none;color:inherit;background:transparent;border:0;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.deck-dock{bottom:0;min-height:108px;padding:22px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center;background:var(--frame-glass,rgba(42,92,61,.34));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--frame-line,rgba(255,255,255,.25));--scene-progress:12.5%}
.deck-dock:before{content:'';position:absolute;top:-1px;left:0;width:var(--scene-progress);height:2px;background:var(--frame-accent,#f9a735);transition:width .65s cubic-bezier(.2,.75,.2,1),background .45s}
.dock-story{display:flex;gap:20px;align-items:center;min-width:0}
.dock-count{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;opacity:.7}
.dock-label{font-size:12px;line-height:1.5;max-width:210px;margin:0}
.dock-middle{text-align:center}
.dock-hint{font-size:8px;letter-spacing:.16em;opacity:.72;margin:0}
.dock-hint span{font-size:15px;padding-left:8px}
.dock-actions{display:flex;gap:28px;align-items:center;justify-content:flex-end}
.dock-contact{font-size:10px;font-weight:700;letter-spacing:.1em;white-space:nowrap}
.dock-contact span{margin-left:10px;font-size:18px}
.deck-controls{display:flex;gap:8px;visibility:hidden}
.katto-enhanced .deck-controls{visibility:visible}
.deck-controls button{border:1px solid var(--frame-line,rgba(255,255,255,.3));background:transparent;color:inherit;border-radius:50%;width:43px;height:43px;font-size:22px;cursor:pointer;transition:background .2s,opacity .2s;display:grid;place-items:center}
.deck-controls button:disabled{opacity:.25;cursor:default}
.deck-controls button:not(:disabled):hover{background:var(--frame-ink);color:var(--frame-bg,#3a7b51)}
.deck-header a:focus-visible,.deck-header button:focus-visible,.deck-dock a:focus-visible,.deck-dock button:focus-visible,.katto-scene a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1000px) and (max-height:700px){.katto-scene{padding-top:105px;padding-bottom:120px}.scene-kicker{margin-bottom:22px}.scene-title{font-size:min(6.3vw,12vh)}.scene-home .scene-title{font-size:min(9vw,17vh)}.scene-description{font-size:14px;margin-bottom:12px}.scene-visual{height:57vh}.deck-dock{min-height:92px;padding-top:16px;padding-bottom:16px}}
@media(max-width:760px){.deck-header{height:70px}.deck-nav{gap:18px}.deck-nav a{font-size:10px}.katto-scene{grid-template-columns:1fr 1fr;gap:10px;padding-top:100px;padding-bottom:145px}.scene-title{font-size:clamp(38px,7vw,64px)}.scene-home .scene-title{font-size:clamp(54px,10vw,84px)}.scene-description{font-size:14px}.scene-caption{top:86px;font-size:8px}.scene-visual{height:48vh}.art-label{font-size:7px}.deck-dock{gap:15px;grid-template-columns:1fr auto;min-height:112px;padding-top:17px;padding-bottom:17px}.dock-middle{display:none}.dock-story{align-self:center;gap:12px}.dock-label{font-size:11px}.dock-actions{grid-column:2;grid-row:1;gap:16px}.dock-contact{font-size:9px}.deck-controls button{width:38px;height:38px}}
@media(max-width:782px){body.admin-bar .deck-header{top:46px}body.admin-bar .katto-deck,body.admin-bar:has(.katto-deck){height:calc(100dvh - 46px)}}
@media(max-width:540px){.deck-header{height:68px}.deck-brand strong{font-size:25px}.deck-menu-toggle{display:flex;gap:10px;align-items:center}.deck-nav{display:none;position:absolute;left:0;right:0;top:68px;padding:24px 5vw;background:var(--frame-solid,#3a7b51);border-bottom:1px solid var(--frame-line);flex-direction:column;align-items:flex-start;gap:18px}.deck-nav.is-open{display:flex}.deck-nav a{font-size:13px}.katto-scene{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:88px 6vw 132px;gap:8px}.scene-copy{z-index:3}.scene-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:21px;max-width:80%}.scene-title{font-size:clamp(45px,12vw,68px);max-width:90%;margin-bottom:17px}.scene-home .scene-title{font-size:clamp(65px,18.5vw,100px);max-width:100%}.scene-description{font-size:13px;line-height:1.5;max-width:82%;margin-bottom:11px}.scene-link{font-size:9px}.scene-link a{gap:30px;padding:8px 0}.scene-visual{position:absolute;right:-22%;bottom:110px;width:75%;height:42%;opacity:.23;z-index:1}.scene-home .scene-visual{right:-18%;bottom:128px;width:68%;height:35%;opacity:.4}.scene-caption{display:none}.art-word,.gate-art .art-word{font-size:240px}.orbit-art .art-word{font-size:80px}.film-art .art-word{font-size:250px}.connect-art .art-word,.conversation-art .art-word{font-size:300px}.art-label{display:none}.deck-dock{padding:16px 6vw;min-height:110px;gap:12px}.dock-story{display:block;padding-right:5px}.dock-count{display:block;font-size:9px;margin-bottom:4px}.dock-label{font-size:10px;max-width:180px}.dock-actions{align-self:center;gap:13px}.dock-contact{font-size:8px}.dock-contact span{font-size:14px;margin-left:3px}.deck-controls{gap:6px}.deck-controls button{width:34px;height:34px;font-size:19px}}
@media(max-width:540px) and (max-height:680px){.katto-scene{padding-top:82px;padding-bottom:124px}.scene-kicker{margin-bottom:14px}.scene-title{font-size:10.5vw}.scene-home .scene-title{font-size:17vw}.scene-description{font-size:12px}.scene-visual{height:32%}}
@media(max-height:480px) and (min-width:541px){.deck-header{height:54px}.katto-scene{padding:70px 5vw 90px;grid-template-columns:1.3fr 1fr}.scene-kicker{font-size:8px;margin-bottom:10px}.scene-title,.scene-home .scene-title{font-size:clamp(36px,10vh,54px);margin-bottom:12px}.scene-description{font-size:11px;line-height:1.4;margin-bottom:5px;max-width:350px}.scene-link{font-size:9px}.scene-visual{height:53vh}.scene-caption{display:none}.art-label{display:none}.deck-dock{min-height:73px;padding:12px 5vw}.dock-label{font-size:10px}.dock-hint{display:none}.dock-middle{position:static}.deck-controls button{width:33px;height:33px}.dock-count{font-size:9px}}
/* Zoom and unusually short viewports may scroll a single scene to keep text available. */
@media(max-height:360px){.scene-copy{max-height:calc(100dvh - 150px);overflow-y:auto;touch-action:pan-y}.scene-visual{display:none}.katto-scene{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.katto-track{scroll-behavior:auto}.deck-header,.deck-dock,.deck-dock:before,.scene-visual:before,.scene-visual:after,.art-word,.scene-link a{transition:none!important}}
/* In the Site Editor, show scenes vertically so every block can be edited. */
.editor-styles-wrapper .katto-deck{height:auto}.editor-styles-wrapper .katto-track{display:block;height:auto;overflow:visible}.editor-styles-wrapper .katto-scene{height:auto;min-height:700px}.editor-styles-wrapper .deck-header,.editor-styles-wrapper .deck-dock{position:relative;background:#3a7b51;color:#f5f3ed}.editor-styles-wrapper .scene-visual{pointer-events:auto}
@media(max-width:540px){.deck-brand svg{width:140px}.scene-home .mosaic-art{opacity:.24;right:-24%;bottom:135px;height:35%;width:75%}.mosaic-signature{padding:20px}.scene-description{position:relative;z-index:4}}
@media(max-width:540px){.katto-scene:has(.generated-art){justify-content:flex-start}.katto-scene:has(.generated-art) .scene-title{font-size:11vw;margin-bottom:14px}.katto-scene.scene-home:has(.generated-art) .scene-title{font-size:16vw}.katto-scene:has(.generated-art) .scene-kicker{margin-bottom:15px}.scene-visual.generated-art,.scene-home .scene-visual.generated-art{right:6%;bottom:128px;width:88%;height:31%;opacity:1;transform:rotate(-2deg)}.katto-scene:has(.generated-art) .scene-description{max-width:100%;font-size:12px}}
@media(max-width:540px) and (max-height:680px){.scene-visual.generated-art,.scene-home .scene-visual.generated-art{height:24%;bottom:124px}.katto-scene:has(.generated-art) .scene-kicker{margin-bottom:10px}.katto-scene:has(.generated-art) .scene-description{font-size:11px}.katto-scene:has(.generated-art) .scene-link{font-size:8px}}
@media(max-width:540px) and (max-height:680px){.scene-visual.generated-art{background-position:center 10%}}

/* Preserve the complete perspective compositions in the editorial series. */
.scene-visual:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand){aspect-ratio:16/9;height:auto;background:#3a7b51 url('../images/pattern-mosaic.svg') center/300px auto;transform:rotate(-3deg);box-shadow:16px 18px 0 rgba(0,0,0,.12);overflow:hidden}
.mosaic-motion .art-word,.mosaic-culture .art-word{display:none}
.mosaic-motion:before{content:'';position:absolute;inset:20% 12%;background:#302d2b;border-top:10px dashed #f4f0e7;border-bottom:10px dashed #f4f0e7;transform:rotate(7deg)}
.mosaic-motion:after{content:'';position:absolute;border-top:33px solid transparent;border-bottom:33px solid transparent;border-left:48px solid #f9a735;left:47%;top:34%;transform:rotate(7deg)}
.mosaic-culture{background-size:230px auto!important}
.mosaic-imagination .art-word{font-family:'Katto Amaranth',Arial,sans-serif;font-size:clamp(120px,16vw,240px);color:#f9a735;background:#302d2b;padding:12px 35px;box-shadow:10px 10px 0 #f4f0e7;line-height:.9;transform:rotate(8deg)}
.mosaic-brand .mosaic-signature{transform:rotate(3deg);padding:25px;width:75%}
.scene-visual:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand) .art-label{display:none}
@media(max-width:540px){.scene-visual:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand){opacity:1;right:6%;bottom:132px;width:88%;height:auto;aspect-ratio:16/9}.mosaic-imagination .art-word{font-size:100px}.mosaic-brand .mosaic-signature{padding:16px}}
@media(max-width:540px) and (max-height:680px){.scene-visual:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand){bottom:124px;width:76%;right:12%}}
.scene-visual.generated-art[class*="generated-editorial-"]{aspect-ratio:16/9;height:auto;background-size:contain;background-position:center;background-color:#f4f0e7}
.scene-visual[class*="generated-editorial-"] .art-label{bottom:10px;left:10px;font-size:7px;padding:6px}
@media(min-width:761px){.katto-scene:has([class*="generated-editorial-"]){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.scene-home:has([class*="generated-editorial-"]) .scene-title{font-size:clamp(64px,7vw,124px)}}
@media(max-width:540px){.scene-visual.generated-art[class*="generated-editorial-"],.scene-home .scene-visual.generated-art[class*="generated-editorial-"]{width:88%;height:auto;aspect-ratio:16/9;bottom:132px;right:6%;transform:rotate(-2deg)}}
@media(max-width:540px) and (max-height:680px){.scene-visual.generated-art[class*="generated-editorial-"],.scene-home .scene-visual.generated-art[class*="generated-editorial-"]{bottom:124px;width:76%;right:12%}.katto-scene:has([class*="generated-editorial-"]) .scene-title{font-size:9.5vw;margin-bottom:10px}.scene-home:has([class*="generated-editorial-"]) .scene-title{font-size:15vw}.katto-scene:has([class*="generated-editorial-"]) .scene-description{font-size:10.5px;line-height:1.4}}
@media(max-width:540px){.katto-scene:has(:is([class*="generated-editorial-"],.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand)){justify-content:center;gap:26px}.katto-scene .scene-visual.generated-art[class*="generated-editorial-"],.katto-scene .scene-visual:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand){position:relative;right:auto;bottom:auto;left:auto;width:100%;height:auto;aspect-ratio:16/9;flex-shrink:0;margin:0}.katto-scene:has(:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand)) .scene-title{font-size:11vw;margin-bottom:14px}.katto-scene:has(:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand)) .scene-kicker{margin-bottom:15px}}
@media(max-width:540px) and (max-height:680px){.katto-scene:has(:is([class*="generated-editorial-"],.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand)){gap:16px}.katto-scene:has(:is(.mosaic-motion,.mosaic-culture,.mosaic-imagination,.mosaic-brand)) .scene-title{font-size:9.5vw;margin-bottom:10px}}

.generated-editorial-home{background-image:url('../images/generated/katto-editorial-home.webp')}
.generated-editorial-strategy{background-image:url('../images/generated/katto-editorial-strategy.webp')}
.generated-editorial-motion{background-image:url('../images/generated/katto-editorial-motion.webp')}
.generated-editorial-culture{background-image:url('../images/generated/katto-editorial-culture.webp')}
.generated-editorial-campaigns{background-image:url('../images/generated/katto-editorial-campaigns.webp')}
.generated-editorial-imagination{background-image:url('../images/generated/katto-editorial-imagination.webp')}
.generated-editorial-perspective{background-image:url('../images/generated/katto-editorial-perspective.webp')}
.generated-editorial-conversation{background-image:url('../images/generated/katto-editorial-conversation.webp')}