/* Vivid2Real — home styles. */
.media-error{position:absolute;inset:40% 10% auto;background:#fff;color:var(--ink);padding:20px;border-radius:10px}
.media-error button{margin-left:15px}
.trust-strip{display:flex;justify-content:center;gap:5vw;padding:25px 4%;border-bottom:1px solid var(--line);font-size:.77rem}
.trust-strip>span{display:flex;gap:10px;align-items:center}
.trust-strip b{color:#977652;font-size:1.1rem}
.finish-showcase{margin:0}
.finish-showcase img{width:100%;aspect-ratio:16/9;object-fit:contain}
.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.pricing{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.currency-row{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex:0 1 auto!important;font-size:.8rem}
.currency-row select,select,textarea,input:not([type=checkbox]):not([type=file]){border:1px solid #c8c5bc;border-radius:6px;background:#fff;padding:12px;color:var(--ink);max-width:100%}
.price{line-height:1.15;letter-spacing:-.045em}
.usd-reference{font-size:.8rem;color:var(--muted);margin-top:5px}
.features{padding:0;list-style:none}
.features li{display:flex;gap:12px;padding:5px 0}
.features li:before{content:"✓";color:#867050}
.currency-note{margin:15px 0}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:32px 0 0;padding:0}
.step{position:relative;min-width:0;border:1px solid #dcd2c3;border-radius:16px;background:#fffdfa;padding:24px}
.step h3{letter-spacing:-.025em}
.step p{margin-bottom:0}
.copy{background:none;border:0;border-bottom:1px solid var(--line);padding:5px 0;color:var(--muted);font-size:.75rem}
.contact-form{display:grid}
.contact-form label:not(.consent){display:block;font-weight:500}
.contact-form select,.contact-form textarea{width:100%;font-size:.9rem}
.form-note{font-size:.73rem!important;line-height:1.6;margin:8px 0 0}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:.77rem;line-height:1.6}
.consent input{width:17px;height:17px;flex-shrink:0;margin:4px 0;accent-color:var(--ink)}
@media(max-width:900px){
.process-grid{gap:30px 24px}
}
@media(max-width:600px){
.trust-strip{gap:12px;padding:19px 20px;justify-content:space-between;align-items:flex-start}
.trust-strip>span{gap:6px;flex:1;line-height:1.5}
.trust-strip b{font-size:.85rem}
.finish-showcase img{border-radius:8px}
.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.currency-row{justify-content:flex-start;margin-top:20px}
.step h3{font-size:1.1rem}
.step p{font-size:.8rem}
}
.finish-summary{text-align:center}
#sharing-terms{scroll-margin-top:120px}
#sharing-terms-link{justify-self:start;text-decoration:underline;text-underline-offset:3px;font-size:.76rem;margin-top:-12px}
@media(max-width:600px){
.finish-summary{font-size:.87rem;text-align:left;margin:20px 0 45px}
.process-grid{grid-template-columns:1fr;gap:24px}
.trust-strip{font-size:.63rem}
}
.social-card{aspect-ratio:9/16;min-width:0;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:clamp(12px,1.7vw,24px)}
.social-card h3{margin:0 0 24px}
.social-links{display:grid;gap:10px}
.social-button{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #d6cbbb;border-radius:12px;color:#292820;box-shadow:0 2px 3px #5e4a3010;transition:background .2s,border-color .2s}
.social-thumbnail{flex:0 0 40px;width:40px;height:40px;border-radius:10px;overflow:hidden}
.social-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.social-button-label{min-width:0;flex:1;font-size:clamp(.72rem,1vw,.88rem);font-weight:500;overflow-wrap:anywhere}
.social-arrow{font-size:1rem;flex:none}
.social-button:not(.social-unset):hover{background:#fff;border-color:#ad9475}
.social-button:focus-visible{outline:3px solid #856543;outline-offset:3px}
.social-unset{color:#787369;background:#f7f2eb;box-shadow:none}
.social-unset .social-arrow{opacity:.3}
.price-preferences{display:flex;flex-wrap:wrap;justify-content:flex-end;flex:0 1 auto!important}
.unit-row{display:flex;align-items:center;gap:10px;font-size:.8rem}
.unit-row select{padding:12px}
@media(max-width:767px){
.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.social-card h3{margin-bottom:14px}
.social-links{gap:8px}
.social-button{padding:8px;gap:8px}
.social-thumbnail{flex-basis:32px;width:32px;height:32px}
.price-preferences{justify-content:flex-start}
.price-preferences .currency-row{margin:0}
}
@media(min-width:768px){
.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:400px){
.social-card{padding:9px}
.social-card h3{font-size:1rem;margin-bottom:7px}
.social-links{gap:6px}
.social-button{padding:6px;gap:6px;border-radius:8px}
.social-thumbnail{flex-basis:24px;width:24px;height:24px;border-radius:6px}
.social-button-label{font-size:.64rem}
.social-arrow{display:none}
}
@media(min-width:768px) and (max-width:1050px){
.social-card{padding:12px}
.social-card h3{margin-bottom:14px}
.social-links{gap:7px}
.social-button{padding:7px;gap:7px}
.social-thumbnail{flex-basis:28px;width:28px;height:28px}
.social-button-label{font-size:.7rem}
.social-arrow{display:none}
}
#enquiry-form{min-width:0}
.contact-form input[type=text],.contact-form input[type=email]{width:100%;font-size:.9rem;min-height:46px}
.enquiry-trap{display:none!important}
.contact-form .field-error{font-size:.76rem;color:#a12720;margin:5px 0 0}
.contact-form [aria-invalid=true]{border-color:#a12720}
#enquiry-submit{width:100%;justify-content:space-between;min-height:48px}
#enquiry-submit:disabled{opacity:.65;cursor:wait}
.direct-email-link{font-size:.8rem;text-decoration:underline;text-underline-offset:4px;justify-self:start}
#enquiry-status{font-size:.9rem;line-height:1.6;border:1px solid var(--line);border-radius:10px;padding:18px;overflow-wrap:anywhere}
#enquiry-status.is-success{background:#edf0e8;color:#253421}
#enquiry-status.is-error{background:#fff4ee;color:#7d3020}
.lifestyle-scenes{margin:0 0 88px}
.lifestyle-scenes h2{max-width:none}
.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lifestyle-card{min-width:0}
.lifestyle-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:#ede7dc}
.lifestyle-copy{padding:19px 2px 0}
.lifestyle-copy h3{letter-spacing:-.025em;margin:0 0 7px;overflow-wrap:break-word;text-wrap:balance}
.lifestyle-copy p{margin:0}
@media(max-width:1023px){
.scene-grid{grid-template-columns:minmax(0,1fr);max-width:600px;margin:auto}
.lifestyle-scenes .section-heading{max-width:600px;margin-inline:auto}
.lifestyle-copy h3{font-size:1.6rem}
}
@media(max-width:600px){
.lifestyle-scenes{margin-bottom:56px}
.lifestyle-scenes .section-heading{margin-bottom:24px}
.lifestyle-card img{border-radius:8px}
.lifestyle-copy{padding-top:15px}
.lifestyle-copy h3{font-size:1.4rem}
.lifestyle-copy p{font-size:.84rem}
.scene-grid{gap:24px}
}
.photo-field{min-width:0}
.photo-picker{position:relative;border:1px dashed #b8a88d;border-radius:10px;background:#f2ece2;min-height:70px;margin-top:7px}
.photo-picker:focus-within{outline:3px solid #a66d36;outline-offset:3px}
.photo-picker input[hidden]{display:none!important}
.photo-picker:has(input:disabled){opacity:.55}
.photo-picker-copy{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;width:100%;min-height:74px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;touch-action:manipulation}
.photo-add-icon{font-size:1.5rem;line-height:1}
.photo-field .form-note{margin:8px 0 0;font-size:.73rem;line-height:1.55}
.photo-privacy{color:var(--muted)}
.photo-list{padding:0;margin:10px 0 0;list-style:none;display:grid;gap:8px}
.photo-list:empty{display:none}
.photo-list li{display:flex;gap:12px;align-items:center;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0}
.photo-list img{width:48px;height:56px;object-fit:cover;border-radius:4px;flex:none;background:#eee8de}
.photo-list span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.76rem;line-height:1.4}
.photo-list button{border:0;background:transparent;color:var(--ink);min-width:44px;min-height:44px;font-size:1.4rem;flex:none}
.photo-list button:hover{background:#f2ece2;border-radius:50%}
#real-sculptures{scroll-margin-top:120px}
.product-information{margin-top:24px}
.preview-guidance{max-width:70ch;margin:0 0 20px}
.product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.product-fact{min-width:0;border:1px solid var(--line)}
.product-fact h3{font-size:1.2rem;letter-spacing:-.02em;margin:0 0 10px;line-height:1.3;overflow-wrap:anywhere;hyphens:auto}
.product-fact>p{margin:0}
.material-details{margin-top:14px;min-width:0}
.material-details p{font-size:.79rem;line-height:1.65;margin:10px 0 0;overflow-wrap:break-word}
.material-details .material-scope{color:#776b5d;font-size:.74rem}
.material-documents{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:4px}
.material-documents a{display:inline-flex;align-items:center;min-height:40px;font-size:.77rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.material-documents a:hover{color:#856543}
@media(max-width:767px){
.product-facts{gap:14px}
.preview-guidance{font-size:.82rem}
.product-information{margin-top:20px}
}
.finish-showcase img{display:block;border-radius:var(--v2r-radius)}
.finish-summary{font-size:1rem;line-height:1.75;max-width:72ch;margin:24px 0 52px}
.lifestyle-scenes{margin-bottom:64px}
.lifestyle-scenes .section-heading{margin-bottom:26px}
.scene-grid{gap:24px}
.lifestyle-copy{padding-top:18px}
.lifestyle-copy h3{font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.25;max-width:23ch}
.lifestyle-copy p{font-size:.95rem;line-height:1.6}
.colouring-gallery .section-heading{margin-bottom:28px}
.video-grid{gap:18px}
.social-card{border-radius:var(--v2r-radius);background:#f0e9de}
.social-card h3{font-size:clamp(1.1rem,1.7vw,1.6rem);line-height:1.2;letter-spacing:-.03em}
.social-button{min-height:48px;background:#fff9;border-color:#d8cebf}
.social-button-label{line-height:1.35}
.social-unset{opacity:.75}
.pricing .section-heading{align-items:center}
.price-preferences{gap:12px 20px;align-items:center}
.price-preferences label{font-size:.8rem;line-height:1.5}
.price-preferences select{min-height:44px;border-radius:8px}
.price{font-size:clamp(2.6rem,4vw,3.6rem);font-variant-numeric:tabular-nums;font-weight:550}
.features{margin:22px 0 26px}
.features li{font-size:.91rem;line-height:1.6;padding-block:4px}
.preview-guidance{font-size:.95rem;line-height:1.75;margin-bottom:20px}
.product-facts{gap:20px}
.product-fact{border-radius:var(--v2r-radius);padding:24px;background:#fffdfa}
.product-fact>p{font-size:.92rem;line-height:1.75}
.material-details p,.material-documents a{font-size:.85rem;line-height:1.7}
.currency-note{font-size:.83rem;line-height:1.75;max-width:100ch}
.process-grid{gap:32px}
.step-heading{display:flex;align-items:center;gap:12px}
.step-number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid #d9cbb9;border-radius:50%;background:#f0e8dc;color:#755a3e;font-size:.8rem;font-weight:600;margin-bottom:0;flex:0 0 40px}
.step h3{font-size:1.2rem;line-height:1.35;margin:0}
.step p{font-size:.91rem;line-height:1.75;margin:16px 0 0}
.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;min-width:0}
.contact-form>div,.contact-form>label,.contact-form>a,.contact-form>button,.contact-form>p,.contact-form>noscript{grid-column:1/-1;min-width:0}
.contact-form>.form-field{grid-column:auto}
.contact-form label:not(.consent){font-size:.86rem;line-height:1.5;margin-bottom:8px}
.contact-form :is(input:not([type=checkbox]):not([type=file]),select,textarea){width:100%;min-height:48px;border:1px solid #d9d3c8;border-radius:8px;background:#fff;font-size:1rem;line-height:1.5;padding:12px;color:var(--ink)}
.contact-form textarea{height:120px;resize:vertical}
.contact-form .form-note{font-size:.8rem;line-height:1.65;margin:0}
.contact-form .photo-picker{margin-top:0;min-height:74px;background:#f5efe5;border-color:#bca889}
.photo-field .form-note{margin-top:8px}
.contact-form .consent{font-size:.83rem;line-height:1.65;gap:10px;margin:0}
.contact-form .consent input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#715237}
.contact-form #sharing-terms-link{font-size:.82rem;margin-top:-10px;text-underline-offset:4px}
.contact-form #enquiry-submit{min-height:50px;border-radius:9px;font-size:.92rem}
.contact-form .direct-email-link{display:inline-flex;justify-self:start;align-items:center;min-height:44px;font-size:.85rem;margin-top:-8px}
.contact-form #enquiry-status{padding:20px;border-radius:10px;line-height:1.75;font-size:.95rem}
@media(max-width:1023px){
.lifestyle-scenes{margin-bottom:56px}
.scene-grid{gap:24px}
}
@media(max-width:767px){
.finish-summary{font-size:.95rem;margin:18px 0 32px}
.lifestyle-copy p{font-size:.91rem}
.video-grid{gap:12px}
.price-preferences{gap:12px 18px;margin-top:20px;flex-wrap:wrap}
.product-facts{grid-template-columns:minmax(0,1fr)}
.product-fact{padding:22px}
.process-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.step{padding:20px}
.contact-form{gap:20px 16px}
}
@media(max-width:599px){
.contact-form{grid-template-columns:minmax(0,1fr)}
.contact-form>.form-field{grid-column:1/-1}
.contact-form label:not(.consent){font-size:.9rem}
.photo-picker-copy{font-size:.9rem}
.contact-form .form-note{font-size:.79rem}
}
@media(max-width:359px){
.price-preferences{align-items:flex-start;gap:12px}
.price-preferences label{max-width:12ch}
.social-card{padding:8px}
.social-card h3{font-size:.875rem;line-height:1.2;margin-bottom:4px}
.social-links{gap:4px}
.social-button{min-height:38px}
}
.process-diagram .section-heading h2{max-width:none}
.process-figure{margin:0}
.process-art{aspect-ratio:3/2;border-radius:20px;overflow:hidden;background:#eadcc9;border:1px solid #d9cebd}
.process-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%}
.step-connector{position:absolute;right:-33px;top:33px;color:#967956;pointer-events:none}
.step-approval{background:#eee4d5;border-color:#cbb69b}
.step-approval .step-number{background:#3b3530;border-color:#3b3530;color:#fff8ee}
@media(min-width:768px) and (max-width:900px){
.step-connector{right:-26px;width:24px}
.step-heading{align-items:flex-start;gap:9px}
.step{padding:20px 16px}
.step h3{font-size:1.05rem}
}
@media(max-width:767px){
.process-art{border-radius:14px}
.process-grid{margin-top:26px}
.step-connector{right:auto;left:32px;top:auto;bottom:-24px;transform:rotate(90deg);width:22px;height:18px}
.step h3{font-size:1.08rem}
.step p{font-size:.9rem;line-height:1.7;margin-top:12px}
}
.guide-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:12px 14px;margin-top:18px;background:#30382c;color:#fff;border:1px solid #30382c;border-radius:11px;font-size:.87rem;font-weight:550;line-height:1.4}
.guide-link:hover{background:#4b5743;color:#fff}
.guide-link span:last-child{flex:none}
.guide-link:focus-visible{outline:3px solid #856543;outline-offset:4px}
@media(max-width:1099px){
.social-card .social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.social-card .social-button{flex-direction:column;padding:8px 4px;gap:5px;min-height:68px;text-align:center}
.social-card .social-thumbnail{width:28px;height:28px;flex-basis:28px;border-radius:7px}
.social-card .social-button-label{font-size:.66rem;flex:none;overflow-wrap:normal}
.social-card .social-arrow{display:none}
.social-card .guide-link{font-size:.74rem;padding:10px 9px;min-height:44px;margin-top:12px}
.social-card{aspect-ratio:auto;min-height:100%}
.social-card h3{margin-bottom:14px}
}
@media(max-width:767px){
.social-card .social-button{min-height:65px}
.social-card .guide-link{font-size:.73rem}
}
@media(max-width:359px){
.social-card h3{margin-bottom:10px}
.social-card .social-button{min-height:62px;padding:6px 3px}
.social-card .social-button-label{font-size:.6rem}
.social-card .guide-link{font-size:.66rem;gap:4px;padding:9px 7px;margin-top:10px}
}

/* Compact mobile reading rhythm; preserve complete images and explicit controls. */
@media(max-width:767px){
.lifestyle-scenes{margin-bottom:40px}
.lifestyle-copy{padding-top:12px}
.step{padding:20px;border-radius:12px}
.step p{margin-top:10px}
.step-number{min-width:32px;height:32px;flex-basis:32px}
.video-grid{gap:12px}
}
