/* Veesi 2.0 content layer. The v11 scene geometry and frame controllers are retained. */
:root { --v2-blue:#123fff; --v2-muted:#626b80; --v2-line:#d9dce4; --v2-serif:"Times New Roman",Times,"Veesi Serif",serif; }
.site-header { gap:clamp(14px,2vw,36px); }
.site-header nav { margin-left:auto; margin-right:auto; gap:clamp(20px,3vw,48px); }
.site-header .header-cta { margin-left:0; }
.site-header [aria-current="page"] { color:var(--v2-blue); }
.hero-description { font-size:clamp(15px,1.65vw,25px); }
.hero-reassurance { margin:12px 0 0; font-size:clamp(12px,1.16vw,18px); line-height:1.4; color:#717474; }
.hero-actions { gap:2.4vw; }
.v2-section { padding:70px 5.2%; }
.v2-heading { margin:16px 0 12px; font-size:clamp(34px,4.1vw,68px); letter-spacing:-.055em; line-height:1.02; font-weight:650; }
.v2-lead { margin:0 0 26px; color:var(--v2-muted); font-size:clamp(18px,2.1vw,30px); line-height:1.3; letter-spacing:-.025em; }
.serif-heading { font-family:var(--v2-serif); font-weight:400; letter-spacing:-.055em; }
.v2-pricing { border-top:1px solid var(--v2-line); }
.plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0 20px; }
.plan-card { min-width:0; padding:30px; border:1px solid var(--v2-line); border-radius:12px; background:rgba(255,255,255,.45); display:flex; flex-direction:column; align-items:flex-start; }
.plan-monthly { border-color:var(--v2-blue); background:linear-gradient(130deg,#eef6ffb0,#f7faff50); }
.plan-label { display:flex; align-items:center; gap:12px; color:var(--v2-muted); font-size:18px; margin:0 0 14px; }
.plan-label .dot { width:12px; height:12px; }
.plan-price { margin:0 0 10px; font-family:var(--v2-serif); font-weight:400; font-size:clamp(62px,6.3vw,98px); letter-spacing:-.065em; line-height:1; }
.plan-monthly .plan-price { font-size:clamp(68px,6.8vw,104px); }
.plan-price span { font-family:var(--veesi-sans); font-size:clamp(17px,1.9vw,27px); color:var(--v2-muted); letter-spacing:-.03em; white-space:nowrap; }
.plan-scope,.plan-feature,.plan-note { margin:0; font-size:clamp(15px,1.35vw,20px); line-height:1.5; width:100%; }
.plan-feature { border-block:1px solid var(--v2-line); margin-top:12px; padding:12px 0; }
.plan-note { color:var(--v2-muted); padding:12px 0 22px; flex:1; }
.plan-card .primary-cta,.plan-card .outline-cta { min-height:50px; font-size:16px; padding:14px 28px; }
.outline-cta { display:inline-flex; justify-content:center; align-items:center; gap:26px; border:1px solid #161820; border-radius:999px; text-decoration:none; background:transparent; transition:background .3s,color .3s; }
.outline-cta:hover { background:#151720; color:white; }
.pricing-essentials { display:grid; grid-template-columns:1fr 1fr; gap:24px; color:var(--v2-muted); font-size:14px; line-height:1.55; }
.pricing-essentials p { margin:0; }
.pricing-foot { font-size:13px; line-height:1.5; color:var(--v2-muted); }
.plan-details { margin:24px 0 0; text-align:center; color:var(--v2-muted); font-size:15px; }
.plan-details a { margin-left:8px; text-underline-offset:4px; }
.process { border-top:1px solid var(--v2-line); padding-bottom:38px; }
.process-promise { font-size:clamp(22px,2.8vw,42px); }
.process-visual { margin:10px -3% 0; aspect-ratio:4.35; background:url('assets/v2/process-timeline.webp') 50% 42% / 100% auto no-repeat; }
.timeline { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; list-style:none; margin:0; padding:0; }
.timeline li { min-width:0; position:relative; padding-top:25px; }
.timeline li::before { content:""; position:absolute; left:45%; top:-12px; height:30px; width:1px; background:#c8ccd9; }
.day-label { font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:var(--v2-muted); }
.timeline h3 { font-size:clamp(18px,1.75vw,27px); line-height:1.12; letter-spacing:-.035em; min-height:3.1em; margin:10px 0 12px; padding-bottom:14px; border-bottom:1px solid var(--v2-line); }
.timeline p { color:var(--v2-muted); font-size:clamp(14px,1.35vw,20px); line-height:1.4; }
.day-output { margin-top:20px; }
.day-visual { display:none; }
.process-condition { margin-top:35px; padding-top:22px; border-top:1px solid var(--v2-line); display:flex; align-items:center; gap:35px; }
.process-condition p { color:var(--v2-muted); font-size:14px; line-height:1.5; flex:1; }
.process-condition .primary-cta { font-size:15px; min-height:48px; padding:13px 26px; }
.faq { border-top:1px solid var(--v2-line); padding-top:46px; }
.faq .v2-heading { font-size:clamp(40px,5.2vw,80px); margin:16px 0 28px; }
.faq-list { margin:0; border-top:1px solid var(--v2-line); }
.faq-list details { border-color:var(--v2-line); }
.faq-list summary { font-size:clamp(17px,1.5vw,23px); line-height:1.35; padding:20px 3px; gap:25px; min-height:64px; }
.faq-list p { font-size:clamp(15px,1.3vw,19px); line-height:1.65; margin:0 0 25px; max-width:80ch; color:var(--v2-muted); }
.contact { margin:0 3.5%; padding:42px 1.8% 55px; border-top:1px solid var(--v2-line); background:transparent; gap:5%; align-items:start; }
.contact-copy .section-heading { font-family:var(--v2-serif); font-weight:400; font-size:min(5.4vw,11.4cqw); line-height:.95; letter-spacing:-.055em; margin:25px 0 22px; white-space:nowrap; }
.contact-intro { font-size:clamp(17px,1.75vw,26px); line-height:1.4; color:var(--v2-muted); }
.contact-form { padding:24px; border:1px solid var(--v2-line); border-radius:8px; }
.contact-form label,.contact-form legend { display:block; font-size:14px; color:var(--v2-muted); line-height:1.4; }
.contact-form > label { margin-top:15px; }
.contact-form input,.contact-form textarea { padding:11px 12px; font-size:16px; border-color:var(--v2-line); border-radius:4px; margin-top:6px; background:#ffffff70; }
.contact-form textarea { min-height:92px; margin-bottom:16px; }
.contact-form fieldset { border:0; padding:0; margin:16px 0; min-width:0; }
.plan-options { display:flex; gap:18px; flex-wrap:wrap; margin-top:10px; }
.plan-options label { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.plan-options input[type="radio"] { margin:0; width:18px; height:18px; accent-color:var(--v2-blue); box-shadow:none; }
.contact-form .primary-cta { min-height:48px; font-size:16px; padding:13px 25px; width:100%; cursor:pointer; }
.contact-form .primary-cta:disabled { cursor:wait; opacity:.6; }
.form-reassurance,.form-privacy,.form-status { font-size:13px; line-height:1.5; color:var(--v2-muted); margin:10px 0 0; }
.form-status:empty { margin:0; }
.form-status[data-state="error"] { color:#9b291c; }
.form-status[data-state="sent"] { color:#235731; }
.form-status[data-state="dry-run"] { color:#2c4c91; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(100%); }
.optional { font-size:12px; }
.site-footer { border-top:1px solid var(--v2-line); gap:22px; padding-block:28px; }
.site-footer nav { margin-left:auto; flex-wrap:wrap; }
.site-footer .footer-note { font-size:13px; }
/* Supporting pages share the v11 type, image formats, controls and scroll feel. */
.interior-page main { max-width:1600px; margin:auto; }
.interior-page .site-header { min-height:100px; }
.page-hero { position:relative; isolation:isolate; padding:50px 5.2% 45px; overflow:hidden; }
.interior-page h1 { font-size:clamp(54px,6.6vw,104px); line-height:.95; font-weight:650; letter-spacing:-.06em; margin:20px 0 25px; max-width:72%; }
.interior-page h1.serif-heading { font-family:var(--v2-serif); font-weight:400; }
.page-hero .v2-lead { max-width:65%; }
.page-sphere { position:absolute; width:45%; right:0; top:-4%; z-index:-1; height:115%; }
.page-ribbon { position:absolute; width:45%; height:110%; right:-9%; top:-8%; z-index:-1; background:url('assets/motion/ribbon-overscan.webp') center / contain no-repeat; transform:rotate(-22deg); }
.services-hero h1,.studio-hero h1 { font-size:clamp(54px,6.2vw,96px); max-width:76%; }
.studio-hero .page-ribbon { right:-13%; transform:rotate(12deg); }
.work-gallery { padding:0 5.2%; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.work-tile { position:relative; display:block; aspect-ratio:1.12; overflow:hidden; background:#283124; color:white; text-decoration:none; }
.work-tile.work-feature { grid-column:1/-1; aspect-ratio:2.3; }
.work-tile img { width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.work-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0009,transparent 75%),linear-gradient(transparent 50%,#0006); }
.work-tile-copy { position:absolute; inset:auto 30px 30px; z-index:1; }
.work-tile-copy h2 { font:400 clamp(45px,5.6vw,84px)/1 var(--v2-serif); letter-spacing:-.05em; margin:6px 0 10px; }
.work-tile-copy p { font-size:clamp(14px,1.3vw,20px); margin:0 0 12px; max-width:30ch; }
.round-arrow { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--yellow); color:black; margin-top:18px; font-size:22px; }
@media(hover:hover){.work-tile:hover img{transform:scale(1.035);}}
.concept-disclosure { font-size:14px; line-height:1.55; color:var(--v2-muted); margin:24px 5.2% 40px; max-width:85ch; }
.page-closing { text-align:center; margin:55px 5.2% 0; padding:50px 0 55px; border-top:1px solid var(--v2-line); }
.page-closing h2 { font-size:clamp(48px,5.8vw,90px); line-height:.94; margin:0 0 25px; }
.page-closing p { color:var(--v2-muted); font-size:18px; }
.page-closing .primary-cta { display:inline-flex; font-size:16px; min-height:48px; padding:14px 28px; }
.page-closing .small-note { font-size:13px; }
.concept-detail { padding:25px 5.2% 30px; display:grid; grid-template-columns:.7fr 1.3fr; gap:35px; align-items:center; }
.back-link { grid-column:1/-1; font-size:14px; text-decoration:none; color:var(--v2-muted); }
.concept-detail h1 { max-width:100%; font-size:clamp(62px,7vw,112px); }
.concept-browser { border:9px solid #222526; border-radius:16px; overflow:hidden; box-shadow:0 22px 38px -26px #19202b80; }
.concept-browser-bar { display:flex; align-items:center; justify-content:space-between; padding:15px; gap:12px; font-size:11px; background:#fff; }
.concept-browser-bar b { font:400 25px/1 var(--v2-serif); }
.concept-badge { border:1px solid #c9c9c9; border-radius:30px; padding:5px 8px; font-size:10px; white-space:nowrap; }
.concept-browser-image { position:relative; aspect-ratio:1.25; background:#263126; }
.concept-browser-image img { display:block; width:100%; height:100%; object-fit:cover; }
.concept-browser-image::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#000a); }
.concept-browser-image h2 { position:absolute; bottom:24px; left:25px; right:15px; margin:0; color:white; font:400 clamp(28px,3.7vw,58px)/.98 var(--v2-serif); letter-spacing:-.04em; z-index:1; }
.project-notes { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:20px; }
.project-notes > div { border-top:1px solid var(--v2-line); padding-top:20px; }
.project-notes h2 { font-size:17px; margin:0 0 14px; }
.project-notes p { font-size:16px; line-height:1.55; color:var(--v2-muted); }
.concept-detail .concept-disclosure { grid-column:1/-1; margin:0; }
.concept-detail > .primary-cta { justify-self:start; font-size:16px; min-height:48px; padding:14px 28px; }
.services-plans { padding:0 5.2%; }
.service-comparison { padding-bottom:30px; }
.service-comparison > p { color:var(--v2-muted); font-size:18px; line-height:1.6; }
.cost-comparison { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--v2-line); margin-top:24px; padding:20px 0; gap:25px; }
.cost-comparison p { margin:0; }
.cost-comparison span { display:block; font-size:14px; color:var(--v2-muted); }
.cost-comparison strong { display:block; margin-top:12px; font-size:clamp(21px,2.4vw,36px); letter-spacing:-.04em; font-weight:500; }
.measure-copy { max-width:90ch; }
.service-inclusions { padding-top:35px; }
.service-rows { margin:25px 0; }
.service-rows article { display:grid; grid-template-columns:1fr 2fr; gap:35px; padding:26px 0; border-top:1px solid var(--v2-line); }
.service-rows h2 { font-size:23px; letter-spacing:-.025em; margin:0; font-weight:500; }
.service-rows p { margin:0; font-size:17px; line-height:1.7; color:var(--v2-muted); }
.studio-values { display:grid; grid-template-columns:repeat(3,1fr); margin:15px 5.2% 50px; gap:30px; }
.studio-values article { padding-left:25px; border-left:1px solid var(--v2-line); }
.studio-values article:first-child { border-left:0; padding-left:0; }
.studio-values h2 { font:400 34px/1.1 var(--v2-serif); letter-spacing:-.04em; margin:0; }
.studio-values p { color:var(--v2-muted); font-size:17px; line-height:1.5; max-width:25ch; }
.founder-story { margin:0 5.2%; padding:50px 0; border-block:1px solid var(--v2-line); display:grid; grid-template-columns:1fr 1.2fr; column-gap:7%; }
.founder-story > .eyebrow { grid-column:1/-1; margin-bottom:22px; }
.founder-story h2 { font-size:clamp(38px,3.8vw,60px); line-height:1; margin:5px 0 30px; }
.founder-copy p { font-size:clamp(17px,1.45vw,22px); line-height:1.65; margin:0 0 22px; color:var(--v2-muted); }
.founder-copy p:first-child { color:var(--ink); }
.studio-process-link { padding:50px 5.2% 0; }
.studio-process-link > p:not(.eyebrow) { color:var(--v2-muted); font-size:20px; }
.privacy-page { max-width:950px; }
.privacy-page h1 { max-width:100%; }
.privacy-page p:not(.eyebrow) { font-size:18px; line-height:1.7; color:var(--v2-muted); }
@media(max-width:960px){
 .site-header .header-cta{font-size:12px;padding:10px 16px;min-height:36px;}
 .plan-card{padding:24px;}.timeline{gap:15px;}.process-condition{gap:20px;}
 .contact{grid-template-columns:1fr;}.contact-copy .section-heading{font-size:clamp(48px,7.4vw,72px);white-space:normal;}.contact-intro{margin-bottom:30px;}
 .contact-form{max-width:720px;width:100%;}.page-hero .eyebrow{font-size:12px;}
 .concept-detail{grid-template-columns:1fr;}.concept-detail-heading h1 br{display:none;}.concept-detail-heading h1{font-size:75px;}.concept-detail .concept-browser{max-width:800px;}
}
@media(max-width:680px){
 .site-header,.interior-page .site-header{min-height:76px;flex-wrap:wrap;padding:22px 6%;gap:18px;}
 .site-header .header-cta{display:none;}.site-header nav{margin:0 0 0 auto;gap:18px;}.site-header nav a{font-size:12px;}
 .hero-copy{padding-top:16px;}.hero-reassurance{font-size:12px;max-width:290px;margin-top:12px;}.hero-description{font-size:15px;max-width:100%;}.hero-actions{gap:20px;}
 .v2-section{padding:42px 6%;}.v2-heading{font-size:36px;margin-top:14px;}.v2-lead{font-size:20px;}.v2-section .eyebrow{font-size:10px;}
 .plan-grid{grid-template-columns:1fr;gap:16px;}.plan-card{padding:24px 20px;}.plan-label{font-size:15px;}.plan-price{font-size:67px;}.plan-monthly .plan-price{font-size:76px;}.plan-price span{font-size:19px;}.plan-card .primary-cta,.plan-card .outline-cta{font-size:14px;padding-inline:22px;min-height:46px;}.plan-scope,.plan-feature,.plan-note{font-size:15px;}
 .pricing-essentials{grid-template-columns:1fr;gap:14px;}.plan-details{line-height:1.7;}.plan-details a{display:inline-block;}.pricing-foot{font-size:12px;}
 .process-visual{display:none;}.process-promise{font-size:23px;}.timeline{grid-template-columns:1fr;gap:24px;margin-top:25px;}.timeline li{padding:0 0 20px;border-bottom:1px solid var(--v2-line);}.timeline li::before{display:none;}.timeline h3{font-size:25px;min-height:0;border:0;padding:0;margin:9px 0;}.timeline p{font-size:16px;}.day-output{margin-top:12px;}.day-visual{display:block;height:170px;width:230px;margin:0 auto 12px;background-image:url('assets/v2/process-timeline.webp');background-size:1150px auto;background-position:calc(var(--day) * 25%) 40%;background-repeat:no-repeat;}.day-label{font-size:12px;}.process-condition{display:block;margin-top:0;border:0;}.process-condition .primary-cta{display:inline-flex;margin-top:10px;font-size:14px;}
 .faq .v2-heading{font-size:42px;}.faq-list summary{font-size:16px;padding:17px 2px;gap:16px;}.faq-list p{font-size:15px;line-height:1.65;}.faq-list summary span{min-width:15px;}
 .contact{padding:35px 2.7% 40px;gap:10px;}.contact-copy .section-heading{font-size:clamp(39px,10.5vw,64px);margin:22px 0;}.contact-intro{font-size:17px;}.contact-form{padding:18px 16px;}.contact-fields{grid-template-columns:1fr;gap:15px;}.plan-options{gap:12px 16px;}.plan-options label{font-size:13px;}.contact-form label,.contact-form legend{font-size:13px;}.contact-form .primary-cta{font-size:14px;}.form-reassurance{font-size:12px;}
 .site-footer{display:flex;flex-wrap:wrap;padding:28px 6%;gap:25px;}.site-footer nav{margin:0;gap:18px;width:100%;}.site-footer nav a{font-size:12px;}.site-footer .footer-note{margin:0;}
 .page-hero{padding:30px 6%;}.interior-page h1,.services-hero h1,.studio-hero h1{font-size:53px;max-width:100%;margin:18px 0 24px;}.page-hero .v2-lead{font-size:19px;max-width:100%;}.page-sphere{position:relative;width:70%;height:auto;display:block;margin:-60px -10% -45px auto;opacity:1;}.page-ribbon{opacity:.12;width:72%;right:-25%;top:15%;}.studio-hero .page-ribbon{right:-25%;}
 .work-gallery{padding:0 6%;grid-template-columns:1fr;gap:16px;}.work-tile.work-feature,.work-tile{aspect-ratio:1.08;}.work-tile-copy{inset:auto 23px 23px;}.work-tile-copy h2{font-size:62px;}.work-tile-copy p{font-size:15px;}.concept-disclosure{margin:20px 6% 30px;font-size:13px;}.page-closing{padding:35px 0;margin:35px 6% 0;}.page-closing h2{font-size:47px;}.page-closing p{font-size:16px;}.page-closing .primary-cta{font-size:14px;}
 .concept-detail{padding:22px 6%;gap:25px;}.concept-detail-heading h1{font-size:59px;}.concept-detail .v2-lead{font-size:20px;}.concept-browser{border-width:6px;border-radius:10px;}.concept-browser-bar{padding:10px;}.concept-browser-bar > span[aria-hidden]{display:none;}.concept-browser-image h2{font-size:31px;left:18px;bottom:20px;}.project-notes{grid-template-columns:1fr;gap:12px;margin-top:0;}.project-notes p{font-size:16px;}.concept-detail > .primary-cta{font-size:14px;}
 .services-plans{padding:0 6%;}.cost-comparison{grid-template-columns:1fr;gap:23px;}.cost-comparison strong{font-size:24px;}.service-comparison > p{font-size:16px;}.service-rows article{grid-template-columns:1fr;gap:12px;padding:23px 0;}.service-rows h2{font-size:22px;}.service-rows p{font-size:16px;}
 .studio-values{margin:15px 6% 35px;gap:15px;}.studio-values article{padding-left:14px;}.studio-values h2{font-size:25px;}.studio-values p{font-size:13px;}.founder-story{margin:0 6%;padding:35px 0;grid-template-columns:1fr;}.founder-story h2{font-size:39px;}.founder-copy p{font-size:17px;}.studio-process-link{padding:35px 6% 0;}.studio-process-link > p:not(.eyebrow){font-size:18px;}.privacy-page p:not(.eyebrow){font-size:16px;}
}
@media(max-width:360px){.site-header nav{width:100%;margin:0;}.interior-page h1{font-size:46px;}.v2-heading{font-size:32px;}.plan-card{padding:22px 17px;}.plan-price{font-size:60px;}.plan-monthly .plan-price{font-size:68px;}.plan-price span{font-size:17px;}.studio-values{grid-template-columns:1fr;}.studio-values article{padding:0 0 14px;border:0;border-bottom:1px solid var(--v2-line);}.studio-values p{max-width:none;font-size:15px;}}
@media(prefers-reduced-motion:reduce){.work-tile img,.outline-cta{transition:none;}}
@media print{.plan-grid,.timeline{display:block;}.plan-card,.timeline li{break-inside:avoid;}.form-trap{display:none;}}

/* Display the approved artwork against the retained ivory ground. */
.process-visual,.day-visual { mix-blend-mode:multiply; }
.timeline li::before { display:none; }

/* Flattened picture metadata must not consume the laptop document's grid cells. */
.hero-art .screen-document picture > source { display:none; }
