*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#25221e;color:#090908;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}:focus-visible{outline:3px solid #14728d;outline-offset:4px}.stage{width:1536px;height:1024px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scale,1));transform-origin:center;isolation:isolate}.artwork{position:absolute;inset:0;background:url('assets/background-detail-v10.png') center/contain no-repeat;z-index:-1}header{height:89px;color:#fff0e4;position:relative}.brand{position:absolute;left:69px;top:12px;display:flex;align-items:center;gap:18px;font:bold 40px/1 "Times New Roman",serif;letter-spacing:-1px;text-decoration:none}.brand img{display:block;width:108px;height:62px;object-fit:contain}nav{position:absolute;top:31px;left:626px;display:flex;align-items:center;gap:45px}nav a,nav button{font:20px/1.4 Arial;text-decoration:none;border:0;background:none;color:inherit;padding:0 0 7px;white-space:nowrap}.active{border-bottom:3px solid #d21c14!important}.socials{position:absolute;right:51px;top:26px;display:flex;gap:22px}.socials a{width:32px;height:32px;display:block}.socials svg{width:32px;height:32px}.language{position:absolute;right:13px;top:63px}.language select{width:43px;font:10px Arial;color:#f5e8db;border:1px solid #b4a28a;background:#29251f;border-radius:3px;padding:1px}.hero{position:absolute;left:76px;top:234px;width:545px}.hero h1{font:bold 72px/1.08 "Times New Roman",serif;letter-spacing:-2px;margin:0 0 14px}.red-rule{height:5px;background:#c71d15;border-radius:6px;width:96px}.hero h2{font:500 36px/1.12 Arial;letter-spacing:-.8px;max-width:430px;margin:16px 0 26px}.hero>p{font:20px/1.45 Arial;max-width:420px;margin:0 0 31px}.button{display:inline-flex;gap:15px;align-items:center;justify-content:center;background:linear-gradient(115deg,#c91008,#d51b10,#bd0a05);border:1px solid #ef553e;border-radius:36px;color:#fff9ef;min-height:68px;padding:12px 30px;font:600 25px/1.25 Arial;box-shadow:inset 0 1px 9px #ad0b0733}.button svg{width:34px;height:34px;flex-shrink:0}.hero .button{margin-left:-11px;width:326px;justify-content:space-between}.button>span[aria-hidden]{font:38px/1 Arial}.features{position:absolute;left:68px;top:721px;display:flex;gap:0;max-width:962px}.features>div{display:flex;gap:23px;align-items:center;min-height:54px;padding-right:40px;font:bold 20px/1.2 Arial}.features>div:nth-child(1){width:223px}.features>div:nth-child(2){width:355px;padding-left:57px;border-left:1px solid #b1a294}.features>div:nth-child(3){width:390px;padding-left:42px;border-left:1px solid #b1a294;padding-right:0}.features svg{width:51px;height:51px;flex-shrink:0;overflow:visible}.about{position:absolute;left:80px;top:882px;display:flex;gap:47px;color:#f6e9dd;align-items:center;width:930px}.about h2{font:bold 48px/1.1 "Times New Roman",serif;white-space:nowrap;margin:0}.about .red-rule{height:4px;width:64px;margin-top:13px}.about>p{padding-left:44px;border-left:1px solid #eee0ce;max-width:570px;min-height:88px;font:20px/1.4 Arial;margin:0}.contact{position:absolute;left:430px;top:300px;width:670px;padding:45px;background:#f3e3cf url('assets/paper.svg');border-radius:18px;box-shadow:0 8px 30px #0006;text-align:center;z-index:3}.contact[hidden]{display:none}.contact h2{font:bold 42px "Times New Roman",serif;margin:0 0 20px}.contact p{font:20px/1.4 Arial}.contact-socials{display:flex;justify-content:center;gap:32px;margin-top:30px}.contact-socials svg{width:44px;height:44px}dialog{position:absolute;inset:237px 38px auto auto;margin:0;width:462px;padding:25px 32px 24px;max-width:none;max-height:none;background:#f8e8d6 url('assets/paper.svg');border:1px solid #deccba;border-radius:20px;box-shadow:0 8px 25px #20170d55;color:#090908}dialog::backdrop{background:#1b140b22}dialog h2{font:bold 40px/1.12 "Times New Roman",serif;letter-spacing:-.6px;margin:0 20px 12px 0}.close{position:absolute;right:13px;top:10px;background:transparent;border:0;font:35px/1 Arial;padding:4px 6px}.form-intro{font:20px/1.2 Arial;margin:0}dialog .red-rule{width:60px;height:4px;margin:17px 0 20px}form label{display:block;font:600 18px/1.15 Arial;margin:17px 0 7px}form label:first-child{margin-top:0}.required{color:#d0180e}input,textarea{display:block;width:100%;border:1px solid #b6ab9e;border-radius:8px;background:#fffcf45c;color:#242424;padding:8px 12px;font:16px/1.25 Arial;min-height:39px}textarea{height:88px;resize:none}.input-icon{position:relative}.input-icon svg{position:absolute;left:14px;top:7px;width:25px;height:25px;pointer-events:none}.input-icon input{padding-left:55px}.privacy{font:10px/1.3 Arial;margin:11px 0 0;color:#514438}#form-status{font:12px/1.3 Arial;margin:8px 0;color:#643c1b}#form-status:empty{display:none}form .button{width:100%;min-height:54px;margin-top:15px;border-radius:17px;padding:7px 20px;font-size:24px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}noscript{position:fixed;bottom:0;left:0;right:0;padding:8px;background:#f3e3cf;font:13px Arial}body[data-screen=contact] .contact{display:block}body[data-screen=contact] .hero,body[data-screen=contact] .features{visibility:hidden}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.hero .button{padding-left:30px;padding-right:24px;gap:12px;font-weight:500}.hero .button [data-i18n]{white-space:nowrap}.hero .button>span[aria-hidden]{font-size:32px;flex:0 0 25px}

.hero .button{min-width:326px;max-width:326px}.hero .button [data-i18n]{flex:1;white-space:nowrap;font-size:24px}.hero .button svg{flex:0 0 34px}.hero .button>span[aria-hidden]{font-size:30px;flex:0 0 25px}

/* v7: full-width desktop canvas and a natural mobile document. */
html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}
body{height:var(--stage-height,100vh);min-height:100vh;overflow:visible}
.stage{left:0;top:0;transform:scale(var(--scale,1));transform-origin:top left}
.mobile-collage{display:none}
body[data-screen=about] .hero,body[data-screen=about] .features{visibility:hidden}
body[data-screen=about] .about{left:360px;top:285px;width:800px;display:block;padding:45px 55px;background:#28231ff2;border:1px solid #8a7765;border-radius:18px;box-shadow:0 12px 40px #1b120d55}
body[data-screen=about] .about>p{border:0;padding:28px 0 0;max-width:none;min-height:0;font-size:25px;line-height:1.5}
body[data-screen=about] .about h2{font-size:54px;white-space:normal}
body[data-screen=contact] .about{visibility:hidden}
@media(max-width:760px){
 html{scroll-padding-top:18px}body{height:auto;min-height:100vh;background:#eedec9}
 .stage{position:relative;left:auto;top:auto;width:100%;height:auto;transform:none;min-height:100vh}
 .artwork{display:none}header{height:auto;min-height:165px;padding:12px 20px 16px;background:#29251f url('assets/paper.svg');display:flex;flex-wrap:wrap;align-items:center;gap:14px}
 .brand{position:static;gap:10px;font-size:30px;letter-spacing:-.6px}.brand img{width:75px;height:50px}
 nav{position:static;order:3;flex:1 0 100%;display:flex;justify-content:space-between;gap:12px;margin-top:4px}
 nav a,nav button{font-size:14px;padding:9px 0;white-space:normal}
 .socials{position:static;order:4;display:flex;gap:19px;margin-top:0}.socials a,.socials svg{width:25px;height:25px}
 .language{position:static;margin-left:auto;order:5}.language select{width:53px;font-size:14px;padding:5px}
 main{display:flex;flex-direction:column}.hero{position:relative;left:auto;top:auto;width:auto;padding:32px 23px 10px}
 .hero h1{font-size:clamp(36px,10.5vw,55px);letter-spacing:-1.5px;margin-bottom:18px}
 .hero h2{font-size:29px;line-height:1.15;max-width:450px;margin:16px 0 22px}
 .hero>p{font-size:18px;max-width:500px;line-height:1.5;margin-bottom:25px}
 .hero .button{width:auto;min-width:0;max-width:100%;margin-left:0;min-height:57px;padding:12px 20px;gap:12px}
 .hero .button [data-i18n]{font-size:21px;white-space:normal}.hero .button svg{flex-basis:29px;width:29px;height:29px}
 .mobile-collage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin:8px 0 0}
 .features{position:static;display:flex;flex-direction:column;gap:23px;max-width:none;padding:24px 25px 35px}
 .features>div,.features>div:nth-child(1),.features>div:nth-child(2),.features>div:nth-child(3){width:auto;padding:0;border:0;font-size:18px;gap:22px;min-height:44px}
 .features svg{width:43px;height:43px}
 .about,body[data-screen=about] .about{position:static;width:auto;display:block;padding:34px 25px 42px;border:0;border-radius:0;box-shadow:none;background:#29251f url('assets/paper.svg')}
 .about h2,body[data-screen=about] .about h2{font-size:38px;white-space:normal}
 .about>p,body[data-screen=about] .about>p{border:0;padding:23px 0 0;min-height:0;max-width:none;font-size:19px;line-height:1.5}
 body[data-screen=about] .hero,body[data-screen=about] .features,body[data-screen=contact] .hero,body[data-screen=contact] .features,body[data-screen=contact] .about{visibility:visible}
 .contact{position:static;width:auto;margin:26px 20px 35px;padding:28px 22px;border-radius:12px}.contact h2{font-size:34px}.contact p{font-size:18px}.contact-socials{gap:25px}.contact-socials svg{width:35px;height:35px}
 dialog{position:fixed;inset:16px 12px auto;margin:0;width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px 23px;border-radius:16px}
 dialog::backdrop{background:#1b140baa}dialog h2{font-size:36px}.form-intro{font-size:18px;line-height:1.3}form label{font-size:16px}
 input,textarea{font-size:16px;min-height:43px}textarea{resize:vertical;height:105px}.input-icon svg{top:9px}.privacy{font-size:12px;line-height:1.4;margin-top:14px}
 #form-status{font-size:14px}form .button{font-size:22px;min-height:52px}.modal-open{overflow:hidden}
}

/* Proposal must remain above the contact panel in the desktop canvas. */
#proposal{z-index:10}

/* v9: desktop fits the viewport; background fills the surrounding space. */
@media(min-width:761px){
 html,body{width:100%;height:100%;min-height:0;overflow:hidden}
 body{height:100dvh;background:#29251f url('assets/background-detail-v10.png') center/cover no-repeat}
 .stage{position:fixed;left:50%;top:50%;width:1536px;height:1024px;transform:translate(-50%,-50%) scale(var(--scale,1));transform-origin:center}
}

@media(min-width:761px){
 body{background-position:center top;isolation:isolate}
 .stage{z-index:1}.stage>.artwork{display:none}
 body::before{content:"";position:fixed;inset:0 0 auto;height:var(--header-bottom,89px);background:#29251f url('assets/paper.svg');z-index:0;pointer-events:none}
 body::after{content:"";position:fixed;inset:var(--about-start,80vh) 0 0;background:#29251f url('assets/paper.svg');clip-path:polygon(0 0,4% 5%,8% 2%,13% 7%,18% 4%,23% 8%,29% 5%,35% 9%,40% 6%,46% 9%,52% 5%,59% 7%,65% 3%,72% 6%,79% 2%,86% 4%,93% 1%,100% 0,100% 100%,0 100%);z-index:0;pointer-events:none}
}

/* v10: live captions sit on a separate paper band below the artwork. */
.feature-paper{display:none}
@media(min-width:761px){
 .feature-paper{display:block;position:absolute;left:var(--paper-left,0px);top:681px;width:var(--paper-width,1536px);height:159px;background:#f1dfc9 url('assets/paper.svg');clip-path:polygon(0 7%,3% 4%,7% 8%,11% 3%,16% 6%,21% 2%,26% 6%,31% 3%,37% 8%,42% 4%,48% 7%,54% 3%,60% 6%,65% 2%,71% 7%,77% 4%,84% 8%,89% 3%,94% 6%,100% 2%,100% 90%,97% 94%,92% 90%,86% 96%,80% 91%,73% 98%,67% 92%,62% 96%,56% 91%,49% 98%,43% 94%,36% 98%,29% 93%,22% 96%,15% 90%,8% 95%,3% 89%,0 93%);z-index:0;pointer-events:none}
 .features{z-index:1}
 body[data-screen=about] .feature-paper,body[data-screen=contact] .feature-paper{visibility:hidden}
}

.scene-background{display:none}
@media(min-width:761px){
 body{background:#f1dfc9 url('assets/paper.svg')}
 .scene-background{display:block;position:fixed;inset:0;background:url('assets/background-detail-v10.png') center top/auto var(--art-height,900px) no-repeat;mask-image:linear-gradient(to right,transparent var(--art-left,0px),#000 calc(var(--art-left,0px) + 70px),#000 calc(var(--art-right,100vw) - 70px),transparent var(--art-right,100vw));z-index:-1;pointer-events:none}
}
