#home-animation *{box-sizing:border-box}#home-animation button,#home-animation a{-webkit-tap-highlight-color:transparent}#home-animation{width:1920px;height:1080px;display:grid;grid-template-rows:154px 1fr 100px;background:var(--paper)}#home-animation .brand-header{padding:60px 96px 16px;display:flex;align-items:center}#home-animation .logo{width:360px;height:74px;object-fit:contain;object-position:left center}#home-animation .stage{position:relative;overflow:hidden;min-height:0}#home-animation .scene{position:absolute;inset:0;background:var(--paper)}#home-animation .scene~.scene{opacity:0}#home-animation .scene-content{width:100%;height:100%;padding:12px 96px 36px;display:flex;flex-direction:column;box-sizing:border-box}#home-animation .main{display:flex;align-items:center;gap:64px;width:100%;height:100%;min-height:0}#home-animation .copy{flex:0 0 575px;display:flex;flex-direction:column;align-items:flex-start;gap:34px;min-width:0}#home-animation .title{font:400 96px/1.09 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0;width:100%}#home-animation .line-mask{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}#home-animation .phrase{display:block}#home-animation .body{font-size:32px;line-height:1.5;margin:0;max-width:510px;color:var(--ink)}#home-animation .visual{flex:1;min-width:0}#home-animation .frame{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--line)}#home-animation .photo{display:block;width:100%;height:100%;object-fit:cover}#home-animation .conversation-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:84px;padding:23px 32px;background:var(--olive);color:var(--paper);font:400 30px/1.2 Archivo,Arial,sans-serif;letter-spacing:0;text-decoration:none;border:1px solid var(--olive);cursor:pointer}#home-animation .button-arrow{font-size:32px;line-height:1}#home-animation .conversation-button:hover{background:var(--ink);border-color:var(--ink)}#home-animation .conversation-button:active{background:var(--olive)}#home-animation a:focus-visible,#home-animation button:focus-visible{outline:3px solid var(--ink);outline-offset:6px}#home-animation .base-footer{display:flex;align-items:center;gap:34px;padding:0 96px 40px}#home-animation .progress{height:1px;flex:1;background:var(--line);overflow:hidden}#home-animation .progress-fill{height:100%;width:100%;background:var(--olive);transform-origin:left}#home-animation .web-controls{display:none}#home-animation .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

#home-animation{width:100%;max-width:1680px;height:clamp(620px,61vw,920px);margin:0 auto;grid-template-rows:clamp(100px,10vw,145px) 1fr 86px}
#home-animation .brand-header{padding:32px clamp(32px,5vw,80px) 12px}
#home-animation .logo{width:clamp(210px,23vw,330px);height:68px}
#home-animation .scene-content{padding:12px clamp(32px,5vw,80px) 24px}
#home-animation .main{gap:clamp(28px,4vw,64px)}
#home-animation .copy{flex-basis:34%;gap:30px}
#home-animation .title{font-size:clamp(46px,5.1vw,88px)}
#home-animation .body{font-size:clamp(20px,1.8vw,28px);max-width:450px}
#home-animation .conversation-button{font-size:clamp(20px,1.8vw,28px);min-height:62px;padding:18px 24px;gap:24px}
#home-animation .button-arrow{font-size:26px}
#home-animation .base-footer{padding:0 clamp(32px,5vw,80px) 26px;gap:28px}
#home-animation .web-controls{display:flex;gap:16px;flex-shrink:0}
#home-animation .web-controls button{font:400 16px/1.2 Archivo,Arial,sans-serif;color:var(--olive);background:var(--paper);border:0;border-bottom:1px solid var(--line);padding:12px 0;min-height:44px;cursor:pointer}
#home-animation .web-controls button:hover{border-color:var(--olive)}#home-animation .web-controls button:active{color:var(--ink)}
#home-animation:not(.enhanced) .scene,#home-animation.reduced .scene{opacity:0!important;clip-path:none!important;pointer-events:none}
#home-animation:not(.enhanced) #ha-s4,#home-animation.reduced #ha-s4{opacity:1!important;pointer-events:auto}
#home-animation:not(.enhanced) #ha-s4 *,#home-animation.reduced #ha-s4 *,#home-animation:not(.enhanced) .logo,#home-animation.reduced .logo{opacity:1!important;transform:none!important}
#home-animation:not(.enhanced) .progress-fill,#home-animation.reduced .progress-fill{transform:none!important}
#home-animation:not(.enhanced) .web-controls,#home-animation.reduced .web-controls{display:none}
@media(max-width:900px){
 #home-animation{height:calc(400px + 56.25vw);grid-template-rows:94px 1fr 76px}
 #home-animation .brand-header{padding:20px 24px 8px}
 #home-animation .logo{width:210px;height:60px}
 #home-animation .scene-content{padding:14px 24px 18px}
 #home-animation .main{flex-direction:column;align-items:stretch;justify-content:center;gap:26px}
 #home-animation .visual{order:-1;flex:none;width:100%}
 #home-animation .copy{flex:none;width:100%;gap:24px;min-height:204px;justify-content:center;align-items:flex-start}
 #home-animation .title{font-size:clamp(42px,7vw,64px);line-height:1.08}
 #home-animation .body{font-size:19px;line-height:1.5;max-width:35em}
 #home-animation .conversation-button{font-size:19px;min-height:56px;padding:16px 22px;gap:30px}
 #home-animation .base-footer{padding:0 24px 20px;gap:24px}
 #home-animation .web-controls{gap:18px}
 #home-animation .web-controls button{font-size:14px}
}
@media(forced-colors:active){#home-animation .conversation-button{border:1px solid ButtonText}#home-animation a:focus-visible,#home-animation button:focus-visible{outline-color:Highlight}#home-animation .progress{border-bottom:1px solid CanvasText}}

/* Website placement: the existing navigation supplies the single brand header. */
#home-animation{width:min(1280px,86%);max-width:1280px;height:clamp(560px,44vw,720px);margin:0 auto;grid-template-rows:1fr 80px;font-family:var(--sans);color:var(--ink)}
#home-animation .scene-content{padding:24px 0}
#home-animation .base-footer{padding:0 0 26px}
#home-animation .copy{flex-basis:34%}
#home-animation .title{text-wrap:initial;max-width:none}
#home-animation .web-controls button{background:var(--paper)}
@media(max-width:900px){
 #home-animation{width:calc(100% - 40px);height:calc(330px + 56.25vw);grid-template-rows:1fr 76px}
 #home-animation .scene-content{padding:20px 0 8px}
 #home-animation .copy{flex-basis:auto}
 #home-animation .base-footer{padding:0 0 20px}
}

/* V27.1: quieter closing invitation at the website's own scale. */
#home-animation .title{font-size:clamp(38px,3.8vw,60px)}
#home-animation #ha-s4 .conversation-button{font-size:16px;min-height:54px;padding:15px 23px;gap:24px}
#home-animation #ha-s4 .button-arrow{font-size:22px}
#home-animation #ha-s4 .copy{gap:26px}
@media(max-width:900px){
 #home-animation .title{font-size:clamp(34px,5.6vw,46px)}
 #home-animation #ha-s4 .conversation-button{font-size:15px;min-height:54px;padding:15px 22px}
 #home-animation #ha-s4 .copy{gap:22px}
}

/* V27.2: shared headline scale and room for serif overhang/descenders. */
#home-animation .title{line-height:1.16;overflow-wrap:anywhere;hyphens:none}
#home-animation .line-mask{padding:.1em .08em .16em;margin:-.1em -.08em -.16em}
#home-animation .phrase{max-width:100%;overflow-wrap:anywhere}
