.social-feed{background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden;margin:2rem 0}.social-header{padding:2rem 2rem 1rem;text-align:center;background:#d4b276;color:white}.social-header h2{margin:0 0 .5rem;font-size:2rem}.social-header p{margin:0;opacity:.9;font-size:1.1rem}.social-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #dee2e6}.tab-button{flex:1;padding:1rem 2rem;background:none;cursor:pointer;font-size:1rem;font-weight:700;color:#6c757d;transition:all .3s;border:none;border-bottom:3px solid transparent}.tab-button:hover{background:#e9ecef;color:#495057}.tab-button.active{color:#3498db;border-bottom-color:#3498db;background:white}.social-content{padding:2rem}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.feed-header h3{margin:0;color:#2c3e50;font-size:1.5rem}.follow-button{background:#3498db;color:white;padding:.5rem 1.5rem;border-radius:20px;text-decoration:none;font-weight:700;transition:background-color .3s}.follow-button:hover{background:#2980b9;text-decoration:none}.twitter-feed .tweets{display:flex;flex-direction:column;gap:1.5rem}.tweet{padding:1.5rem;border:1px solid #dee2e6;border-radius:8px;background:#f8f9fa;transition:transform .3s}.tweet:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.tweet-content p{margin:0 0 1rem;color:#2c3e50;line-height:1.5;font-size:1rem}.tweet-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#6c757d}.likes{color:#e74c3c;font-weight:700}.instagram-feed .instagram-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.instagram-post{border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:white;transition:transform .3s}.instagram-post:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.post-image{width:100%;height:200px;overflow:hidden}.post-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-content{padding:1.5rem}.post-content p{margin:0 0 1rem;color:#2c3e50;line-height:1.5;font-size:.95rem}.post-meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#6c757d}@media (max-width:768px){.social-header{padding:1.5rem 1rem 1rem}.social-header h2{font-size:1.5rem}.social-content{padding:1rem}.feed-header{flex-direction:column;gap:1rem;text-align:center}.instagram-posts{grid-template-columns:1fr}.tab-button{padding:.75rem 1rem;font-size:.9rem}}.faq-section{background-color:var(--color-background)}.faq-categories{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:800px;margin:0 auto}.faq-category{background:var(--color-white);border-radius:0;overflow:hidden;border:1px solid rgba(229,224,215,.8)}.faq-category-title{font-family:var(--font-display);font-size:1rem;font-weight:400;font-style:italic;padding:var(--spacing-md) var(--spacing-lg);margin:0;color:#f4f1eb;letter-spacing:.06em}.faq-category--access .faq-category-title,.faq-category--first-visit .faq-category-title,.faq-category--mens .faq-category-title,.faq-category--payment .faq-category-title,.faq-category--reservation .faq-category-title,.faq-category-title{background-color:#2a2118}.faq-items{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid rgba(229,224,215,.6)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;cursor:pointer;text-align:left;gap:var(--spacing-md);transition:background-color .2s ease;font-family:var(--font-secondary),var(--font-japanese)}.faq-question:hover{background-color:#faf9f7}.faq-item--open .faq-question{background-color:rgba(201,169,110,.05)}.faq-question-text{font-size:.95rem;font-weight:500;color:var(--color-text-primary);line-height:1.5;flex:1}.faq-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:200;color:var(--color-accent);border:none;border-radius:0;transition:transform .3s ease;line-height:1}.faq-item--open .faq-icon{color:var(--color-accent);transform:rotate(45deg)}.faq-answer-wrapper{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-item--open .faq-answer-wrapper{max-height:600px}.faq-answer{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);background-color:#faf9f7;border-top:1px solid rgba(201,169,110,.12)}.faq-answer p{font-size:.9rem;line-height:1.8;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm)}.faq-answer p:last-child{margin-bottom:0}.faq-answer-label{font-weight:600;color:var(--color-text-primary)!important;font-size:.85rem!important}.faq-answer-label,.faq-answer-note{margin-top:var(--spacing-sm)!important}.faq-answer-note{background:rgba(201,169,110,.08);border-left:2px solid var(--color-accent);padding:var(--spacing-sm) var(--spacing-md)!important;border-radius:0;font-style:italic}.faq-list{list-style:none;padding:0;margin:var(--spacing-xs) 0 var(--spacing-sm)}.faq-list li{font-size:.9rem;color:var(--color-text-secondary);line-height:1.7;padding-left:var(--spacing-md);position:relative}.faq-list li:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-weight:300;font-size:.8rem}.faq-list a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.faq-list a:hover{color:#b8956a}.faq-list--price li{font-size:.88rem}.faq-list--price strong{color:var(--color-accent);font-weight:600}.faq-list--payment li{font-size:.9rem}.faq-contact{margin-top:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg);background:transparent;border:1px solid rgba(229,224,215,.8);border-radius:0;text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.faq-contact-text{font-size:1rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-family:var(--font-secondary),var(--font-japanese)}.faq-contact-actions{display:flex;gap:var(--spacing-md);justify-content:center;align-items:center;flex-wrap:wrap}.faq-tel-btn{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-secondary);font-size:1rem;white-space:nowrap}@media (max-width:768px){.faq-categories{gap:var(--spacing-md)}.faq-category-title{font-size:.95rem}.faq-category-title,.faq-question{padding:var(--spacing-sm) var(--spacing-md)}.faq-question{min-height:52px}.faq-question-text{font-size:.9rem}.faq-answer{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.faq-contact{padding:var(--spacing-lg) var(--spacing-md);margin-top:var(--spacing-xl)}.faq-contact-actions{flex-direction:column;align-items:stretch}.faq-tel-btn{justify-content:center}}@media (max-width:480px){.faq-question{padding:.75rem 1rem;gap:.75rem}.faq-question-text{font-size:.875rem}.faq-icon{width:18px;height:18px;font-size:1.2rem}.faq-answer{padding:.75rem 1rem 1rem}.faq-answer p,.faq-list li{font-size:.85rem}}@media (max-width:320px){.faq-category-title{font-size:.9rem;padding:.625rem .75rem}.faq-question{padding:.625rem .75rem;min-height:48px}.faq-question-text{font-size:.8rem}.faq-answer{padding:.625rem .75rem .875rem}.faq-answer p,.faq-list li{font-size:.8rem}.faq-contact{padding:1rem .75rem}}.menu-section{background-color:var(--color-background)}.menu-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:var(--spacing-md)}.menu-tab{background:var(--color-white);border:2px solid var(--color-border);color:var(--color-text-secondary);padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-secondary),var(--font-japanese);letter-spacing:.03em;transition:all .2s ease;white-space:nowrap;min-height:44px}.menu-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.menu-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-tab--active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-white);font-weight:600}.menu-category-desc{text-align:center;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:.05em}.menu-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);transition:opacity .2s ease}.menu-item-grid--fading{opacity:0}.menu-item-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-light);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm);position:relative;transition:transform .25s ease,box-shadow .25s ease}.menu-item-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.menu-item-card--recommended{border-color:var(--color-accent)}.menu-badge{display:inline-block;padding:.2rem .65rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;letter-spacing:.05em;font-family:var(--font-secondary),var(--font-japanese);align-self:flex-start}.menu-badge--new{background-color:#E63946;color:#ffffff}.menu-badge--popular{background-color:var(--color-accent);color:#ffffff}.menu-badge--premium{background-color:#8B7355;color:#ffffff}.menu-badge--option{background-color:#6C757D;color:#ffffff}.menu-badge--women{background:linear-gradient(135deg,#C97B84,#B5525A);color:#ffffff}.menu-item-name{font-family:var(--font-primary);font-size:1.2rem;font-weight:500;color:var(--color-text-primary);line-height:1.4;margin:0}.menu-item-price-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.menu-item-price{font-family:var(--font-primary);font-size:1.9rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em;line-height:1}.menu-item-original-price{font-size:.9rem;color:var(--color-text-light);text-decoration:line-through;font-family:var(--font-secondary)}.menu-item-time{display:flex;align-items:center;gap:.3rem;font-size:.875rem;color:var(--color-text-secondary);font-family:var(--font-secondary)}.menu-item-time-icon{font-size:.85rem}.menu-item-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.7;flex:1;margin:0}.menu-item-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:var(--spacing-sm)}.menu-item-btn{display:block;width:100%;min-height:44px;padding:.6rem 1rem;text-align:center;text-decoration:none;font-size:.85rem;font-weight:600;font-family:var(--font-secondary),var(--font-japanese);letter-spacing:.03em;border-radius:var(--radius-md);transition:all .2s ease;line-height:1.4;display:flex;align-items:center;justify-content:center}.menu-item-btn--primary{background-color:var(--color-accent);color:var(--color-white);border:2px solid var(--color-accent)}.menu-item-btn--primary:hover{background-color:#b8956a;border-color:#b8956a;color:var(--color-white);transform:translateY(-1px)}.menu-item-btn--secondary{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.menu-item-btn--secondary:hover{background-color:rgba(201,169,110,.1);transform:translateY(-1px)}@media (max-width:768px){.menu-item-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.menu-tabs{gap:.375rem}.menu-tab{font-size:.8rem;padding:.45rem .875rem}}@media (max-width:480px){.menu-item-card{padding:var(--spacing-md)}.menu-item-name{font-size:1.05rem}.menu-item-price{font-size:1.6rem}.menu-tab{font-size:.75rem;padding:.4rem .75rem;min-height:40px}}@media (max-width:320px){.menu-tabs{gap:.25rem}.menu-tab{font-size:.7rem;padding:.375rem .625rem}.menu-item-price{font-size:1.4rem}.menu-item-name{font-size:.95rem}.menu-item-description{font-size:.82rem}.menu-item-btn{font-size:.78rem;min-height:40px}}.reviews-section{background-color:#2a2118}.reviews-section .section-label{color:rgba(201,169,110,.85)}.reviews-section .section-header h2{color:#f4f1eb}.reviews-section .reviews-overall-note{color:rgba(244,241,235,.55)}.reviews-overall-stars{font-size:1.1rem;vertical-align:middle;margin-right:.3rem}.reviews-overall-rating{font-family:var(--font-primary);font-size:1.3rem;font-weight:700;color:var(--color-accent);vertical-align:middle;margin-right:.4rem}.reviews-overall-count{font-size:.9rem;color:var(--color-text-secondary);vertical-align:middle}.reviews-overall-note{font-size:.95rem;color:var(--color-text-secondary);margin:0}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.review-card{background:#ffffff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:0 2px 4px rgba(44,44,44,.04),0 8px 24px rgba(44,44,44,.07);border:1px solid rgba(229,224,215,.8);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:transform .25s ease,box-shadow .25s ease;position:relative}.review-card:before{content:"\201C";font-family:var(--font-display);font-size:4rem;color:rgba(201,169,110,.18);position:absolute;top:.5rem;left:1rem;line-height:1;pointer-events:none}.review-card:hover{transform:translateY(-5px);box-shadow:0 4px 8px rgba(44,44,44,.06),0 16px 40px rgba(44,44,44,.1),0 24px 56px rgba(201,169,110,.1)}.review-stars{font-size:.8rem;font-weight:700;color:var(--color-accent);letter-spacing:.05em;line-height:1}.review-text{font-size:.95rem;line-height:1.8;color:var(--color-text-primary);flex:1;margin:0}.reviewer-info{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding-top:var(--spacing-sm);margin-top:var(--spacing-xs)}.reviewer-age{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.reviewer-age,.reviewer-source{font-family:var(--font-secondary)}.reviewer-source{font-size:.75rem;color:var(--color-text-light)}.reviews-cta{text-align:center}.reviews-link{display:inline-block;color:rgba(244,241,235,.6);font-size:.82rem;font-weight:500;text-decoration:none;font-family:var(--font-secondary);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(244,241,235,.25);padding-bottom:4px;transition:color .2s ease,border-color .2s ease}.reviews-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (max-width:992px){.reviews-grid{grid-template-columns:1fr;gap:var(--spacing-md);max-width:600px;margin-left:auto;margin-right:auto}}@media (max-width:480px){.review-card{padding:var(--spacing-md)}.review-text{font-size:.88rem}.reviews-overall-rating{font-size:1.1rem}}@media (max-width:320px){.review-card{padding:1rem}.review-text{font-size:.82rem;line-height:1.6}}.concern-section{background-color:var(--color-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}.concern-header{text-align:center;margin-bottom:var(--spacing-xl)}.concern-title{font-family:var(--font-primary);font-size:2.4rem;font-style:italic;font-weight:400;line-height:1.4;color:var(--color-text-primary);margin-top:var(--spacing-sm)}.concern-list{list-style:none;padding:0;margin:0 auto;max-width:640px;display:flex;flex-direction:column;gap:0}.concern-item{display:flex;align-items:center;gap:var(--spacing-md);padding:1.1rem 0;border-bottom:1px solid var(--color-border);position:relative;cursor:default;transition:color .3s ease}.concern-item:first-child{border-top:1px solid var(--color-border)}.concern-item:hover .concern-text,.concern-num{color:var(--color-accent)}.concern-num{font-family:var(--font-primary);font-size:2.8rem;font-weight:400;font-style:italic;opacity:.25;line-height:1;min-width:3rem;text-align:right;flex-shrink:0;transition:opacity .3s ease}.concern-item:hover .concern-num{opacity:.6}.concern-text{font-family:var(--font-secondary),var(--font-japanese);font-size:1rem;color:var(--color-text-primary);line-height:1.6;transition:color .3s ease}.concern-lead{display:flex;align-items:center;gap:var(--spacing-md);max-width:640px;margin:var(--spacing-xl) auto 0}.concern-lead-line{flex-shrink:0;width:40px;height:2px;background-color:var(--color-accent)}.concern-lead-text{font-family:var(--font-secondary),var(--font-japanese);font-size:.95rem;color:var(--color-text-primary);line-height:1.7}.concern-lead-text em{font-style:normal;color:var(--color-accent);font-weight:600}@media (max-width:768px){.concern-title{font-size:1.8rem}.concern-num{font-size:2rem;min-width:2.4rem}.concern-text{font-size:.95rem}.concern-lead-text{font-size:.9rem}}@media (max-width:480px){.concern-title{font-size:1.5rem}.concern-num{font-size:1.6rem;min-width:2rem}}.diagnosis-section{background-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}.diagnosis-header{text-align:center;margin-bottom:var(--spacing-xl)}.diagnosis-title{font-family:var(--font-primary);font-size:2.2rem;font-weight:400;font-style:italic;line-height:1.45;color:var(--color-text-primary);margin-top:var(--spacing-sm)}.diagnosis-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);max-width:900px;margin:0 auto}.diagnosis-card{border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.diagnosis-card:hover{transform:translateY(-6px)}.diagnosis-card-inner{padding:var(--spacing-xl);height:100%;display:flex;flex-direction:column}.diagnosis-card-tag{font-family:var(--font-secondary);font-size:.65rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;margin-bottom:var(--spacing-sm)}.diagnosis-card-name{font-family:var(--font-primary);font-size:1.8rem;font-style:italic;font-weight:400;line-height:1.2;margin-bottom:0}.diagnosis-card-divider{width:40px;height:2px;background-color:var(--color-accent);margin:var(--spacing-sm) 0}.diagnosis-card-target{font-family:var(--font-secondary),var(--font-japanese);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.diagnosis-card-contents{list-style:none;padding:0;margin:0 0 var(--spacing-md);display:flex;flex-direction:column;gap:.4rem}.diagnosis-card-contents li{font-family:var(--font-secondary),var(--font-japanese);font-size:.9rem;padding-left:1.2em;position:relative;line-height:1.5}.diagnosis-card-contents li:before{content:"—";position:absolute;left:0;color:var(--color-accent);font-weight:300}.diagnosis-card-desc{font-size:.88rem;line-height:1.8;flex:1;margin-bottom:var(--spacing-lg)}.diagnosis-card-btn,.diagnosis-card-desc{font-family:var(--font-secondary),var(--font-japanese)}.diagnosis-card-btn{width:100%;padding:.85rem var(--spacing-md);border-radius:var(--radius-md);font-size:.85rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .25s ease;border:2px solid var(--color-accent);margin-top:auto}.diagnosis-card--light{background:linear-gradient(145deg,#ffffff,#fdf9f4);box-shadow:0 2px 4px rgba(44,44,44,.04),0 8px 24px rgba(44,44,44,.08),0 24px 48px rgba(201,169,110,.08);border-top:2px solid var(--color-accent)}.diagnosis-card--light .diagnosis-card-tag{color:var(--color-accent)}.diagnosis-card--light .diagnosis-card-name{color:var(--color-text-primary)}.diagnosis-card--light .diagnosis-card-desc,.diagnosis-card--light .diagnosis-card-target{color:var(--color-text-secondary)}.diagnosis-card--light .diagnosis-card-contents li{color:var(--color-text-primary)}.diagnosis-card-btn--light{background:transparent;color:var(--color-accent)}.diagnosis-card-btn--light:hover{background:var(--color-accent);color:var(--color-white)}.diagnosis-card--dark{background:linear-gradient(145deg,#2c2c2c,#1e1e1e);box-shadow:0 2px 4px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.2),0 24px 48px rgba(201,169,110,.1);border-top:2px solid var(--color-accent)}.diagnosis-card--dark .diagnosis-card-tag{color:var(--color-accent)}.diagnosis-card--dark .diagnosis-card-name{color:#f4f1eb}.diagnosis-card--dark .diagnosis-card-target{color:rgba(244,241,235,.75)}.diagnosis-card--dark .diagnosis-card-desc{color:rgba(244,241,235,.7)}.diagnosis-card--dark .diagnosis-card-contents li{color:rgba(244,241,235,.85)}.diagnosis-card-btn--dark{background:transparent;color:var(--color-accent)}.diagnosis-card-btn--dark:hover{background:var(--color-accent);color:var(--color-white)}@media (max-width:768px){.diagnosis-cards{grid-template-columns:1fr;gap:var(--spacing-md)}.diagnosis-title{font-size:1.6rem}.diagnosis-card-name{font-size:1.5rem}}@media (max-width:480px){.diagnosis-title{font-size:1.3rem}.diagnosis-card-inner{padding:var(--spacing-md)}}.flow-section{background-color:var(--color-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E")}.flow-header{text-align:center;margin-bottom:var(--spacing-xl)}.flow-title{font-family:var(--font-primary);font-size:2.2rem;font-weight:400;font-style:italic;line-height:1.45;color:var(--color-text-primary);margin-top:var(--spacing-sm)}.flow-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:900px;margin:0 auto var(--spacing-xl);position:relative}.flow-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 var(--spacing-sm)}.flow-step-line{position:absolute;top:28px;left:calc(50% + 28px);right:calc(-50% + 28px);height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-border));z-index:0}.flow-step-circle{width:56px;height:56px;border-radius:50%;background-color:var(--color-primary);border:2px solid var(--color-accent);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;margin-bottom:var(--spacing-sm);transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px rgba(201,169,110,.2)}.flow-step:hover .flow-step-circle{background-color:var(--color-accent);transform:scale(1.1);box-shadow:0 4px 16px rgba(201,169,110,.4)}.flow-step--highlight .flow-step-circle{background-color:var(--color-accent);box-shadow:0 4px 20px rgba(201,169,110,.4);width:64px;height:64px}.flow-step-icon{font-size:1.4rem;line-height:1}.flow-step-num{font-family:var(--font-primary);font-size:.65rem;font-weight:400;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.25rem}.flow-step-title{font-family:var(--font-primary);font-size:1rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1.4}.flow-step--highlight .flow-step-title{color:var(--color-accent)}.flow-step-desc{font-size:.82rem;color:var(--color-text-secondary);line-height:1.7}.flow-note,.flow-step-desc{font-family:var(--font-secondary),var(--font-japanese)}.flow-note{text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.15em;color:var(--color-accent);padding:var(--spacing-sm) var(--spacing-xl);border:1px solid var(--color-accent);border-radius:var(--radius-md);display:inline-block;margin:0 auto;display:table}@media (max-width:768px){.flow-timeline{grid-template-columns:1fr;gap:0;max-width:420px}.flow-step{flex-direction:row;text-align:left;align-items:flex-start;padding:0 0 var(--spacing-lg);gap:var(--spacing-md)}.flow-step-line{top:56px;left:27px;right:auto;width:2px;height:calc(100% - 28px);background:linear-gradient(to bottom,var(--color-accent),var(--color-border))}.flow-step-circle{flex-shrink:0;margin-bottom:0;margin-top:0}.flow-step--highlight .flow-step-circle{margin-top:-4px}.flow-step-content{padding-top:.25rem}.flow-title{font-size:1.6rem}}@media (max-width:480px){.flow-title{font-size:1.3rem}.flow-step-desc{font-size:.8rem}}