/* Three distinct products under the Guiling AI brand. */
.products-page section[id] { scroll-margin-top:95px; }
.products-page .meet-again-feature { padding:110px 0 58px; min-height:100svh; }
.products-page .meet-again-feature .product-feature-grid { grid-template-columns:minmax(0,.9fr) minmax(330px,1.1fr); gap:clamp(40px,6vw,82px); }
.products-page .meet-again-feature .product-feature-copy { padding:22px 0; }
.products-page .meet-again-feature .product-feature-copy h1 { font-size:clamp(43px,4.4vw,62px); margin-bottom:15px; letter-spacing:-.035em; }
.products-page .product-feature-copy .product-lead { margin:0 0 22px; color:#9a774f; font:500 clamp(23px,2.4vw,32px)/1.5 var(--display); }
.products-page .product-feature-copy .product-intro { max-width:420px; font-size:14px; line-height:1.95; }
.products-page .self-create-badge { margin:18px 0 5px !important; }
.products-page .creation-steps { margin:10px 0 28px !important; }
.products-page .creation-steps > li { padding-block:18px; }
.products-page .product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:17px; }
.products-page .product-actions .button { padding:16px 23px; font-size:13px; }
.products-page .product-actions .text-link { font-size:12px; }
.products-page .product-feature-copy .product-boundary { margin-top:18px; font-size:11px; }
.products-page .experience-art { height:335px; }
.products-page .experience-art > img, .products-page .experience-art > .responsive-image img { object-position:50% 55%; transform:scale(1.25); }
.products-page .experience-bottom { grid-template-columns:minmax(0,1fr) 170px; gap:16px; }
.products-page .experience-bottom h2 { font-size:25px; }
.products-page .meet-again-entry h2 { margin:12px 0; }
.products-page .meet-again-entry.experience-card .entry-note { text-align:center; font-size:11px; }
.products-page .experience-options { justify-content:center; }

.service-feature { padding:88px 0; background:#fbf8f3; }
.service-feature-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(38px,6vw,80px); align-items:center; }
.service-copy h2 { margin:0; font:500 clamp(33px,3.5vw,48px)/1.3 var(--display); letter-spacing:-.025em; }
.service-lead { margin:23px 0 16px; color:#9a754a; font-size:21px; line-height:1.7; }
.service-intro { margin:0; color:#766a5e; font-size:14px; line-height:1.95; }
.service-proof { margin:25px 0 13px; display:flex; align-items:center; gap:20px; }
.service-proof strong { color:#a48053; font:500 46px/1.1 var(--display); }
.service-proof > span { border-left:1px solid #dfd0bf; padding-left:19px; color:#594b3d; font-size:13px; line-height:1.6; }
.service-proof small { color:#9a8978; font-size:11px; }
.service-scenes { display:grid; }
.service-scenes article { display:flex; gap:15px; padding:19px 0; border-bottom:1px solid #e9dfd3; }
.service-scenes article > span { flex:none; padding-top:4px; color:#b39877; font-size:12px; }
.service-scenes h3 { margin:0 0 7px; font-size:16px; font-weight:550; }
.service-scenes p { margin:0; color:#807060; font-size:12px; line-height:1.9; }
.service-boundary { margin:21px 0 0; color:#998c7d; font-size:11px; line-height:1.85; }
.service-workbench { overflow:hidden; border:1px solid #ddd0be; border-radius:28px; background:#f4eddf; box-shadow:0 22px 60px #64411f0d; }
.service-art { position:relative; aspect-ratio:3/2; overflow:hidden; background:#a88a69; }
.service-art img { height:100%; width:100%; object-fit:contain; }
.service-art .service-art-label { position:absolute; left:17px; bottom:15px; padding:6px 10px; border:1px solid #ffffff40; border-radius:15px; color:#fff9ef; background:#3b302b80; backdrop-filter:blur(8px); font-size:10px; line-height:1.5; }
.service-deliverables { display:grid; grid-template-columns:1fr 1fr; margin:28px 26px; }
.service-deliverables > div { padding-right:12px; }
.service-deliverables > div + div { border-left:1px solid #ddd0bc; padding-left:20px; }
.service-deliverables span { color:#9f7f54; font-size:11px; }
.service-deliverables strong { display:block; margin:10px 0; color:#443628; font:500 22px/1.5 var(--display); }
.service-deliverables p { margin:0; color:#95816c; font-size:10px; line-height:1.7; }
.service-qr { display:grid; grid-template-columns:156px minmax(0,1fr); align-items:center; gap:22px; margin:0 20px 24px; padding:20px; border:1px solid #e5d9ca; border-radius:18px; background:#fffaf3; }
.service-qr img { width:156px; height:156px; background:#fff; border-radius:10px; object-fit:contain; }
.service-qr h3 { margin:0 0 12px; font-size:18px; font-weight:550; line-height:1.6; }
.service-qr p { margin:0 0 15px; font-size:12px; line-height:1.8; color:#8a7967; }
.service-qr small { color:#a58b6b; font-size:10px; line-height:1.7; }
.service-process { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:18px 26px; border-top:1px solid #dfd1bd; background:#eadfcb; font-size:11px; color:#947653; }
.service-process i { color:#b19874; font-style:normal; }

.companion-service { padding:90px 0; color:#f2ebe0; background:radial-gradient(ellipse at 10% 10%,#22404c 0%,transparent 65%),#132b36; }
.companion-service-grid { display:grid; grid-template-columns:minmax(0,1.24fr) minmax(320px,.76fr); gap:clamp(40px,6vw,83px); align-items:center; }
.companion-service .eyebrow { color:#d2b783; }
.companion-copy h2 { margin:0; font:500 clamp(31px,3.2vw,45px)/1.35 var(--display); letter-spacing:-.025em; }
.companion-lead { margin:22px 0 16px; color:#dfc394; font:500 clamp(23px,2.4vw,31px)/1.5 var(--display); }
.companion-intro { margin:0; color:#b1c1c3; font-size:14px; line-height:1.95; }
.companion-interaction { margin:18px 0 0; color:#dcc29b; font-size:13px; line-height:1.9; }
.companion-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:28px; }
.companion-capabilities article { padding:22px; border:1px solid #8bafb42b; border-radius:18px; background:#2f50544d; }
.companion-capabilities span { color:#84afb2; font-size:10px; letter-spacing:.06em; }
.companion-capabilities h3 { margin:15px 0 11px; font-size:16px; font-weight:550; line-height:1.5; }
.companion-capabilities p { margin:0; color:#a6b9bb; font-size:12px; line-height:1.85; }
.companion-boundary { margin:22px 0 0; color:#83a0a5; font-size:11px; line-height:1.85; }
.companion-consult { padding:32px 28px; border:1px solid #e2d3be; border-radius:26px; color:#3f3427; background:#f4eee3; box-shadow:0 20px 65px #0819203b; }
.companion-consult-tag { display:inline-block; border-bottom:1px solid #bfa681; padding-bottom:8px; color:#a1845b; font-size:11px; }
.companion-consult > h3 { margin:24px 0; font:500 28px/1.5 var(--display); }
.companion-service-steps { display:grid; gap:22px; margin:0; padding:0 0 25px; list-style:none; }
.companion-service-steps li { display:flex; gap:13px; }
.companion-service-steps li > span { flex:none; width:27px; height:27px; border:1px solid #c6ad86; border-radius:50%; display:grid; place-items:center; color:#a58861; font-size:10px; }
.companion-service-steps strong { color:#65523d; font-size:14px; font-weight:550; }
.companion-service-steps p { color:#93806a; font-size:11px; line-height:1.8; margin:7px 0 0; }
.companion-qr { display:grid; grid-template-columns:145px minmax(0,1fr); gap:17px; align-items:center; padding-top:25px; border-top:1px solid #dfd3c1; }
.companion-qr img { width:145px; height:145px; object-fit:contain; background:#fff; border-radius:10px; }
.companion-qr h4 { margin:0 0 9px; font-size:15px; font-weight:550; line-height:1.7; }
.companion-qr p { margin:0 0 8px; color:#8f7b64; font-size:11px; line-height:1.85; }
.companion-qr small { color:#a58c6a; font-size:10px; }
.companion-consult > .text-link { margin-top:22px; }

@media (max-width:1100px) {
 .products-page .experience-bottom { grid-template-columns:minmax(0,1fr) 145px; padding-inline:21px; }
 .service-feature-grid { gap:35px; }
 .service-qr { grid-template-columns:130px minmax(0,1fr); gap:15px; padding:17px; margin-inline:17px; }
 .service-qr img { width:130px; height:130px; }
 .service-qr h3 { font-size:16px; }
 .companion-service-grid { gap:35px; }
 .companion-consult { padding-inline:23px; }
 .companion-qr { grid-template-columns:127px minmax(0,1fr); gap:12px; }
 .companion-qr img { width:127px; height:127px; }
}
@media (max-width:860px) {
 .products-page .meet-again-feature { padding:106px 0 56px; }
 .products-page .meet-again-feature .product-feature-grid,.service-feature-grid,.companion-service-grid { grid-template-columns:1fr; gap:38px; }
 .products-page .product-feature-copy { max-width:650px; }
 .products-page .meet-again-entry.experience-card { max-width:540px; }
 .service-feature,.companion-service { padding:60px 0; }
 .service-workbench,.companion-consult { max-width:600px; width:100%; margin-inline:auto; }
 .service-qr { grid-template-columns:156px minmax(0,1fr); padding:22px; gap:25px; }
 .service-qr img { width:156px; height:156px; }
 .companion-qr { grid-template-columns:145px minmax(0,1fr); }
 .companion-qr img { width:145px; height:145px; }
}
@media (max-width:520px) {
 .products-page .meet-again-feature .product-feature-copy h1 { font-size:42px; }
 .products-page .product-feature-copy .product-lead { font-size:22px; }
 .products-page .product-actions { gap:16px; }
 .products-page .product-actions .button { padding:14px 19px; }
 .products-page .experience-art { height:270px; }
 .products-page .experience-art > span { font-size:19px; }
 .products-page .experience-bottom { grid-template-columns:minmax(0,1fr) 138px; gap:12px; padding-inline:19px; }
 .products-page .experience-bottom h2 { font-size:23px; }
 .service-copy h2 { font-size:32px; }
 .service-lead { font-size:19px; }
 .service-deliverables { margin:24px 20px; }
 .service-deliverables strong { font-size:19px; }
 .service-qr { grid-template-columns:125px minmax(0,1fr); padding:16px; gap:15px; margin-inline:14px; }
 .service-qr img { width:125px; height:125px; }
 .service-qr h3 { font-size:15px; }
 .service-qr p { font-size:11px; }
 .companion-copy h2 { font-size:30px; }
 .companion-capabilities { grid-template-columns:1fr; gap:12px; }
 .companion-capabilities article { padding:21px; }
 .companion-capabilities h3 { margin-top:10px; }
 .companion-consult { padding:28px 23px; }
 .companion-consult > h3 { font-size:27px; }
 .companion-qr { grid-template-columns:128px minmax(0,1fr); gap:15px; }
 .companion-qr img { width:128px; height:128px; }
}
@media (max-width:370px) {
 .products-page .experience-bottom { grid-template-columns:1fr; text-align:center; }
 .products-page .poster-qr-link { width:174px; margin:8px auto; }
 .service-qr,.companion-qr { grid-template-columns:1fr; text-align:center; }
 .service-qr img,.companion-qr img { margin-inline:auto; }
}
