:root{--orange:#ff6500;--orange2:#ff8500;--ink:#101827;--muted:#69717c;--soft:#f2f5f7;--white:#fff;--line:#e7eaed}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
.site-header{height:86px;display:flex;align-items:center;gap:48px;padding:0 clamp(24px,5vw,76px);background:#fff;position:relative;z-index:10}
.brand img{display:block;width:174px}
.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:14px;font-weight:700}
.site-header nav a,.site-header nav button{padding:8px 0}.site-header nav button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-size:14px;font-weight:800}
.pill-light{background:#fff;box-shadow:0 8px 28px rgba(17,24,39,.1)}
.pill-dark{background:var(--ink);color:#fff}
.hero{min-height:690px;padding:76px clamp(24px,6vw,92px) 30px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;color:#fff;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--orange2),var(--orange))}
.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.hero:before{width:480px;height:480px;left:-220px;top:-160px}
.hero:after{width:620px;height:620px;right:-270px;bottom:-310px}
.hero-copy{position:relative;z-index:2}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--ink)}
h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin:24px 0}
h1 em{font-style:normal;color:var(--ink)}
.hero-copy>p{max-width:620px;font-size:18px;line-height:1.7;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}
.text-link{font-size:14px;font-weight:800}
.text-link span{font-size:18px}
.hero-meta{display:flex;gap:15px;align-items:center;margin-top:42px;font-size:13px}
.hero-meta i{width:4px;height:4px;background:#fff;border-radius:50%;opacity:.6}
.screen-stack{height:665px;position:relative;z-index:2;display:flex;justify-content:center;align-items:flex-start;gap:12px}
.screen{position:relative;width:31%;max-width:174px;border-radius:25px;box-shadow:0 30px 70px rgba(32,22,12,.28)}
.screen-one{margin-top:24px;transform:rotate(-4deg)}
.screen-two{z-index:2}
.screen-three{margin-top:24px;transform:rotate(4deg)}
.hero-tablet{position:absolute;left:50%;top:402px;width:min(455px,88%);padding:8px;background:#111827;border-radius:20px;box-shadow:0 28px 65px rgba(32,22,12,.3);transform:translateX(-50%)}
.hero-tablet img{display:block;width:100%;border-radius:12px}
.statement,.branches{padding:100px clamp(24px,7vw,108px)}
.section-label{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--orange);margin:0 0 14px}
.statement h2,.frame-copy h2,.experience h2,.branches h2,.cta h2{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.045em;margin:0}
.statement h2 span,.frame-copy h2 span,.experience h2 span{color:var(--orange)}
.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:58px}
.system-grid article{padding:30px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--soft))}
.system-grid article>b{font-size:13px;color:var(--orange)}
.system-grid h3{font-size:28px;margin:40px 0 10px}
.system-grid p,.frame-copy>p,.branch-grid p,.experience-head>p{color:var(--muted);line-height:1.7}
.frame-showcase{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;padding:100px clamp(24px,7vw,108px);background:var(--soft)}
.frame-copy>p{max-width:500px;font-size:16px}
.frame-copy ul{list-style:none;padding:0;margin:28px 0}
.frame-copy li{padding:13px 0;border-bottom:1px solid #dfe4e8;font-weight:700}
.frame-copy li:before{content:"✓";color:var(--orange);margin-right:10px}
.frame-gallery{display:grid;gap:18px}
.frame-gallery img{width:100%;border-radius:22px;box-shadow:0 18px 48px rgba(16,24,39,.12)}
.experience{padding:100px clamp(24px,6vw,92px);background:var(--ink);color:#fff;overflow:hidden}
.experience-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end}
.experience-head>p{color:#aeb6c2;max-width:470px}
.flow-row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:60px}
.flow-row figure{margin:0;position:relative}
.flow-row figure>span{position:absolute;left:12px;top:12px;z-index:2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:11px;font-weight:800}
.flow-row img{width:100%;display:block;border-radius:24px}
.flow-row figcaption{font-weight:800;margin-top:15px}
.branches{text-align:center}
.branches h2{margin-bottom:48px}
.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}
.branch-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;padding:26px;border:1px solid var(--line);border-radius:22px}
.branch-grid article>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff1e8;color:var(--orange);font-weight:800}
.branch-grid h3{font-size:22px;margin:4px 0 5px}
.branch-grid p{font-size:14px;margin:0}
.branch-grid article>b{font-size:22px;color:var(--orange)}
.cta{text-align:center;padding:100px 24px;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#fff}.cta button{border:0;cursor:pointer}
.cta .section-label{color:var(--ink)}
.cta h2{max-width:850px;margin:auto}
.cta p{font-size:18px;margin:20px 0 28px}
footer{min-height:150px;padding:38px clamp(24px,6vw,92px);display:flex;align-items:center;gap:24px}
footer img{width:160px}
footer p{color:var(--muted)}
footer small{margin-left:auto;color:var(--muted)}
@media(max-width:960px){.site-header nav{display:none}
.hero{grid-template-columns:1fr;padding-top:60px}
.screen-stack{height:650px;max-width:650px;width:100%;margin:auto}
.screen{width:30%;max-width:190px}
.system-grid,.branch-grid{grid-template-columns:1fr}
.frame-showcase{grid-template-columns:1fr}
.experience-head{grid-template-columns:1fr}
.flow-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){.site-header{height:72px}
.brand img{width:142px}
.pill{padding:11px 15px}
.hero{padding-bottom:0;min-height:auto}
.screen-stack{height:430px;margin-top:0}
.screen{width:31%;border-radius:18px}
.screen-one,.screen-three{margin-top:18px}
.hero-tablet{top:248px;width:86%;padding:5px;border-radius:14px}
.hero-tablet img{border-radius:9px}
.hero-actions{gap:16px}
.statement,.branches,.frame-showcase,.experience{padding-top:72px;padding-bottom:72px}
.flow-row{gap:12px}
.flow-row img{border-radius:16px}
footer{flex-wrap:wrap}
footer small{margin-left:0;width:100%}
}

/* Product imagery: real app card, original Frames and tablet view */
.tablet-showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:92px clamp(24px,7vw,108px);background:#fff}
.tablet-visual{position:relative}
.tablet-visual:before{content:"";position:absolute;inset:8% -4% -8% 10%;border-radius:32px;background:#fff0e6;transform:rotate(-3deg)}
.tablet-visual img{position:relative;z-index:1;display:block;width:100%;border-radius:28px;box-shadow:0 28px 70px rgba(16,24,39,.16)}
.tablet-copy h2{font-size:clamp(38px,4.7vw,62px);line-height:1.06;letter-spacing:-.045em;margin:0}
.tablet-copy h2 span{color:var(--orange)}
.tablet-copy>p:last-child{max-width:530px;color:var(--muted);font-size:16px;line-height:1.75;margin-top:22px}
.flow-row{grid-template-columns:.62fr .62fr 1.76fr;align-items:start}
.flow-row>figure img{aspect-ratio:738/1600;object-fit:cover}
.original-frames{display:grid;gap:20px}
.original-frames img{background:#fff;border-radius:18px}
.original-frames figure>span{box-shadow:0 0 0 5px rgba(16,24,39,.65)}
@media(max-width:960px){.tablet-showcase{grid-template-columns:1fr}.flow-row{grid-template-columns:repeat(2,1fr)}.original-frames{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tablet-showcase{padding:72px 24px}.original-frames{grid-template-columns:1fr}}
.site-footer{align-items:flex-start;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:20px}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(165px,1fr));gap:42px}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;font-weight:700}.site-footer nav strong{margin-bottom:3px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.site-footer nav a,.site-footer nav button{display:flex;align-items:center;gap:9px}.site-footer nav button{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.site-footer nav a::before,.site-footer nav button::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--orange)}.site-footer nav a:hover,.site-footer nav button:hover{color:var(--orange)}.site-footer small{white-space:nowrap}@media(max-width:1080px){.site-footer{display:grid;grid-template-columns:1fr;gap:26px}.site-footer small{margin-left:0}}@media(max-width:680px){.footer-links{grid-template-columns:1fr;gap:26px}}

/* Contact dialog */
.contact-dialog{width:min(680px,calc(100% - 28px));max-height:calc(100vh - 28px);overflow:auto;border:0;border-radius:26px;padding:32px;background:#fff;color:var(--ink);box-shadow:0 30px 100px rgba(16,24,39,.3)}.contact-dialog::backdrop{background:rgba(16,24,39,.7);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.dialog-head h2{font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.045em;margin:0}.dialog-close{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:28px;line-height:1;cursor:pointer}.dialog-intro{max-width:560px;margin:18px 0 24px;color:var(--muted);font-size:15px;line-height:1.7}.contact-form{display:grid;gap:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:8px;font-size:13px;font-weight:800}.contact-form label span{font-weight:500;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dce1e5;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:15px;padding:14px 15px;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,101,0,.12)}.contact-form .form-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.form-note a{color:var(--orange);font-weight:800;text-decoration:underline}.contact-form .pill{border:0;cursor:pointer;justify-self:start;padding-inline:32px;display:inline-flex;align-items:center;gap:10px}.contact-form .pill:hover{background:#263244}.contact-form .pill:disabled{opacity:.65;cursor:not-allowed;transform:none!important}@media(max-width:600px){.contact-dialog{padding:24px 20px}.field-row{grid-template-columns:1fr}}

/* Form Alert & Spinner */
.form-alert{display:none;padding:14px 18px;border-radius:14px;font-size:14px;line-height:1.5;animation:fadeInAlert .25s ease-out;align-items:center;gap:14px}
.form-alert.visible{display:flex}
.form-alert-success{background:#f0fdf4;border:1.5px solid #22c55e}
.form-alert-success,.form-alert-success *{color:#15803d !important;font-weight:700 !important}
.form-alert-error{background:#fef2f2;border:1.5px solid #ef4444}
.form-alert-error,.form-alert-error *{color:#b91c1c !important;font-weight:700 !important}
.form-alert svg{width:30px !important;height:30px !important;min-width:30px !important;max-width:30px !important;flex:0 0 30px !important;display:inline-block;vertical-align:middle;margin:0 !important}
.form-alert a{color:inherit !important;font-weight:800;text-decoration:underline}
.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeInAlert{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

