:root { --ink:#25373c; --muted:#617278; --gold:#b9985a; --gold-light:#dec999; --blue:#eaf5f7; --white:#fff; --line:rgba(37,55,60,.16); --header-h:82px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Noto Sans JP",sans-serif; font-size:15px; font-weight:400; line-height:2; letter-spacing:.045em; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; } main { padding-top:var(--header-h); } .container { width:min(1120px, calc(100% - 80px)); margin:auto; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:8px 16px; color:#fff; background:var(--ink); transform:translateY(-150%); } .skip-link:focus { transform:translateY(0); }
.site-header { position:fixed; z-index:50; top:0; width:100%; height:var(--header-h); background:rgba(255,255,255,.9); border-bottom:1px solid rgba(37,55,60,.08); backdrop-filter:blur(12px); }
.header-inner { width:min(1280px, calc(100% - 64px)); height:100%; display:flex; align-items:center; justify-content:space-between; margin:auto; }
.brand { display:inline-flex; align-items:center; gap:10px; line-height:1; } .brand-mark { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-family:"DM Serif Display",serif; font-size:18px; } .brand-name { font-family:"DM Serif Display",serif; font-size:23px; letter-spacing:.025em; }
.global-nav { display:flex; align-items:center; gap:28px; font-size:11px; letter-spacing:.13em; } .global-nav a { transition:color .2s; } .global-nav a:hover { color:var(--gold); } .global-nav .nav-contact { padding:9px 17px; border:1px solid var(--gold); color:#94733a; } .global-nav .nav-contact:hover { color:#fff; background:var(--gold); }
.menu-toggle { display:none; border:0; background:transparent; padding:9px 0 9px 9px; } .menu-toggle span { display:block; width:24px; height:1px; margin:5px 0; background:var(--ink); transition:transform .2s,opacity .2s; } .menu-scrim { display:none; }
.hero { position:relative; width:100%; height:auto; min-height:0; aspect-ratio:1881 / 836; display:grid; align-items:center; overflow:hidden; color:#fff; background:#dcecf1; } .hero-slides,.hero-slide,.hero-overlay { position:absolute; inset:0; } .hero-slide { background:var(--placeholder) center / cover no-repeat; opacity:0; transition:opacity 1.25s ease; } .hero-slide.is-active { opacity:1; } .hero-slide.has-image { background-image:linear-gradient(rgba(25,44,49,.04),rgba(25,44,49,.04)),var(--image); }
.hero-overlay { background:linear-gradient(90deg,rgba(21,41,47,.04),rgba(21,41,47,.01) 66%,rgba(21,41,47,.02)); } .hero-content { position:relative; z-index:1; padding-top:50px; } .eyebrow { margin:0 0 17px; color:var(--gold); font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.19em; } .hero .eyebrow { color:#f5e4bb; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:400; } h1,h2 { font-family:"DM Serif Display","Noto Serif JP",serif; letter-spacing:.025em; } .hero h1 { margin-bottom:15px; font-size:clamp(62px,8vw,118px); line-height:1; } .hero-copy { margin:0; font-family:"DM Serif Display","Noto Serif JP",serif; font-size:clamp(22px,2.2vw,31px); line-height:1.55; letter-spacing:.03em; } .hero-copy span { font-family:"Noto Sans JP",sans-serif; font-size:15px; letter-spacing:.12em; }
.scroll-cue { position:absolute; z-index:1; right:50px; bottom:35px; display:flex; align-items:center; gap:12px; color:#fff; font-size:9px; letter-spacing:.18em; writing-mode:vertical-rl; } .scroll-cue::after { content:""; width:1px; height:62px; background:#fff; animation:scrollLine 2.2s ease-in-out infinite; } @keyframes scrollLine { 50% { transform:scaleY(.35); transform-origin:top; } }
.slider-indicators { position:absolute; z-index:2; bottom:24px; left:50%; display:flex; gap:8px; transform:translateX(-50%); } .slider-indicator { width:28px; height:3px; padding:0; border:0; background:rgba(255,255,255,.5); cursor:pointer; transition:width .3s ease,background-color .3s ease; } .slider-indicator.is-active { width:52px; background:#fff; } .slider-indicator:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.section { padding:145px 0; scroll-margin-top:var(--header-h); } .section-tint { background:linear-gradient(135deg,#f9fbfa,#eff8f9); } .two-column { display:grid; grid-template-columns:1fr 1fr; gap:10%; } .section-heading h2 { margin-bottom:0; font-size:clamp(38px,4vw,54px); line-height:1.36; } .section-body { padding-top:5px; } .section-body p { margin-bottom:21px; color:var(--muted); } .text-link { display:inline-flex; align-items:center; gap:12px; margin-top:15px; color:#9b793c; font-size:12px; font-weight:600; letter-spacing:.09em; } .text-link span { font-size:19px; transition:transform .2s; } .text-link:hover span { transform:translateX(5px); }
.centered { max-width:620px; margin:0 auto 63px; text-align:center; } .centered h2 { margin-bottom:16px; } .centered > p:last-child { margin:0; color:var(--muted); font-size:14px; }
.business-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; } .business-card { min-height:270px; padding:38px 34px; background:#fff; border-top:1px solid var(--gold-light); box-shadow:0 10px 35px rgba(45,70,74,.055); } .card-number { display:block; margin-bottom:39px; color:var(--gold); font-family:"DM Serif Display",serif; font-size:18px; line-height:1; } .business-card h3 { margin-bottom:11px; font-family:"Noto Sans JP",sans-serif; font-size:18px; font-weight:500; letter-spacing:.08em; } .business-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.products { background:linear-gradient(180deg,#fff,#fbfdfd); } .product-grid { display:grid; grid-template-columns:minmax(0,840px); justify-content:center; } .product-card { display:grid; grid-template-columns:.78fr 1.22fr; overflow:hidden; background:#fff; box-shadow:0 16px 48px rgba(38,62,65,.1); } .product-image { position:relative; min-height:390px; background:linear-gradient(135deg,#e6f3f5,#fbf7ee); } .product-image::after { content:attr(data-label); position:absolute; inset:0; display:grid; place-items:center; color:rgba(118,94,45,.38); font-family:"DM Serif Display",serif; font-size:15px; letter-spacing:.18em; } .product-image img { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center; } .product-image img.is-loaded + * { display:none; } .product-content { display:flex; flex-direction:column; justify-content:center; padding:48px 52px; } .product-category { margin-bottom:6px; color:var(--gold); font-size:10px; font-weight:600; letter-spacing:.17em; } .product-content h3 { margin-bottom:12px; font-family:"DM Serif Display",serif; font-size:28px; line-height:1.25; } .product-content > p:not(.product-category) { margin-bottom:5px; color:var(--muted); font-size:13px; line-height:1.9; }
.company-details dl { margin:0; border-top:1px solid var(--line); } .company-details dl > div { display:grid; grid-template-columns:145px 1fr; padding:21px 0; border-bottom:1px solid var(--line); } dt { color:#8a6a35; font-size:12px; font-weight:600; letter-spacing:.11em; } dd { margin:0; font-size:14px; line-height:1.9; } dd span { color:var(--muted); font-size:12px; }
.bacillus-overview .two-column { gap:4%; } .bacillus-content { display:grid; grid-template-columns:minmax(150px,.75fr) 1fr; gap:28px; align-items:start; padding-top:5px; } .bacillus-content img { width:100%; aspect-ratio:1 / 1; object-fit:cover; background:#dcecf1; } .bacillus-content p { margin-bottom:18px; color:var(--muted); font-size:14px; }
.news-list { border-top:1px solid var(--line); } .news-item { border-bottom:1px solid var(--line); } .news-item a { display:grid; grid-template-columns:110px 95px 1fr 24px; gap:16px; align-items:center; padding:23px 4px; transition:color .2s,background-color .2s; } .news-item a:hover { color:#91713b; background:#fbfcfb; } .news-item time,.news-category { font-size:11px; letter-spacing:.08em; } .news-item time { color:var(--muted); } .news-category { color:#98783f; font-weight:600; } .news-item h3 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:14px; font-weight:400; line-height:1.7; } .news-arrow { color:var(--gold); font-size:20px; transition:transform .2s; } .news-item a:hover .news-arrow { transform:translateX(4px); } .news-more { margin-top:25px; text-align:right; }
.page-hero { padding:105px 0 78px; background:linear-gradient(135deg,#f8fbfa,#eaf5f7); } .page-hero .eyebrow { margin-bottom:12px; } .page-hero h1 { margin:0; font-size:clamp(42px,5vw,66px); line-height:1.2; } .page-hero p:last-child { max-width:580px; margin:20px 0 0; color:var(--muted); font-size:14px; } .page-content { padding:110px 0 145px; } .page-content .section-heading { margin-bottom:43px; } .bacillus-detail-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:9%; align-items:center; margin-bottom:95px; } .bacillus-detail-intro img { width:100%; aspect-ratio:1.1 / 1; object-fit:cover; background:#eaf5f7; } .bacillus-detail-intro p { color:var(--muted); } .feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; } .feature-card { padding:32px 28px; border-top:1px solid var(--gold-light); background:#fff; box-shadow:0 10px 35px rgba(45,70,74,.055); } .feature-card h3 { margin-bottom:12px; font-family:"Noto Sans JP",sans-serif; font-size:17px; font-weight:500; } .feature-card p { margin:0; color:var(--muted); font-size:13px; }
.article { max-width:760px; } .article-meta { display:flex; align-items:center; gap:17px; margin-bottom:21px; color:var(--muted); font-size:12px; } .article-meta .news-category { font-size:10px; } .article-title { margin-bottom:44px; padding-bottom:42px; border-bottom:1px solid var(--line); font-family:"Noto Sans JP",sans-serif; font-size:clamp(25px,3vw,37px); font-weight:400; line-height:1.65; letter-spacing:.04em; } .article-body { color:var(--muted); } .article-body p { margin-bottom:25px; } .article-back { margin-top:52px; }
.contact { padding:128px 0; scroll-margin-top:var(--header-h); background:var(--ink); color:#fff; text-align:center; } .contact-inner { max-width:680px; } .contact .eyebrow { color:#e3c58b; } .contact h2 { margin-bottom:17px; font-size:clamp(39px,4vw,52px); } .contact p:not(.eyebrow) { margin-bottom:34px; color:#d4dcde; font-size:14px; } .button { display:inline-flex; min-width:285px; align-items:center; justify-content:space-between; padding:14px 22px; border:1px solid #d8bd88; color:#f5e7c8; font-size:13px; letter-spacing:.08em; transition:background .2s,color .2s; } .button:hover { background:#d8bd88; color:var(--ink); } .button span { font-size:19px; }
.site-footer { padding:30px 0; background:#1e2d31; color:#d4ddde; } .footer-inner { display:flex; align-items:center; justify-content:space-between; } .site-footer .brand-mark { width:23px; height:23px; font-size:15px; } .site-footer .brand-name { font-size:18px; } .site-footer p { margin:0; font-size:10px; letter-spacing:.1em; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .75s ease,transform .75s ease; } .reveal.is-visible { opacity:1; transform:none; }
@media (max-width:760px) { :root { --header-h:66px; } body { font-size:14px; } body.menu-open { overflow:hidden; } .container { width:min(100% - 42px,600px); } .header-inner { width:calc(100% - 42px); } .brand-name { font-size:20px; } .menu-toggle { display:block; position:relative; z-index:2; } .menu-toggle.is-open span:nth-child(1) { transform:translateY(6px) rotate(45deg); } .menu-toggle.is-open span:nth-child(2) { opacity:0; } .menu-toggle.is-open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); } .menu-scrim { position:fixed; z-index:40; inset:var(--header-h) 0 0; display:block; visibility:hidden; border:0; background:rgba(20,35,39,.24); opacity:0; transition:opacity .25s,visibility .25s; } .menu-scrim.is-open { visibility:visible; opacity:1; } .global-nav { position:absolute; z-index:1; top:100%; left:0; width:100%; display:flex; visibility:hidden; flex-direction:column; gap:0; padding:14px 21px 24px; background:rgba(255,255,255,.98); opacity:0; transform:translateY(-10px); transition:.25s; } .global-nav.is-open { visibility:visible; opacity:1; transform:none; } .global-nav a { width:100%; padding:12px 0; border-bottom:1px solid var(--line); } .global-nav .nav-contact { margin-top:9px; border:1px solid var(--gold); text-align:center; } .hero { height:auto; min-height:0; } .hero-content { padding-top:22px; } .hero h1 { font-size:61px; } .hero-copy { font-size:23px; } .hero-copy span { font-size:13px; } .scroll-cue { display:none; } .slider-indicators { bottom:7px; } .slider-indicator { width:18px; height:2px; } .slider-indicator.is-active { width:32px; } .section { padding:88px 0; } .two-column { grid-template-columns:1fr; gap:34px; } .section-heading h2 { font-size:37px; } .centered { margin-bottom:39px; } .business-grid { grid-template-columns:1fr; gap:12px; } .business-card { min-height:0; padding:27px 26px; } .card-number { margin-bottom:21px; } .product-grid { grid-template-columns:1fr; } .product-card { grid-template-columns:1fr; } .product-image { min-height:0; aspect-ratio:1.2 / 1; } .product-content { padding:26px 25px 28px; } .company-details dl > div { grid-template-columns:96px 1fr; padding:17px 0; } .bacillus-content,.bacillus-detail-intro,.feature-grid { grid-template-columns:1fr; } .bacillus-content { gap:23px; } .bacillus-content img { max-width:260px; } .news-item a { grid-template-columns:1fr auto; gap:3px 12px; padding:19px 0; } .news-item time { grid-column:1; } .news-category { grid-column:1; } .news-item h3 { grid-column:1; grid-row:3; padding-top:4px; } .news-arrow { grid-column:2; grid-row:1 / 4; } .news-more { margin-top:17px; text-align:left; } .page-hero { padding:68px 0 53px; } .page-content { padding:76px 0 88px; } .bacillus-detail-intro { gap:28px; margin-bottom:62px; } .feature-grid { gap:12px; } .feature-card { padding:27px 26px; } .article-title { margin-bottom:32px; padding-bottom:30px; font-size:25px; } .contact { padding:83px 0; } .button { width:100%; min-width:0; } .footer-inner { gap:18px; align-items:flex-start; flex-direction:column; } }
/* Clean Japanese cosmetics-maker refinement */
:root { --ink:#20363d; --muted:#5c7179; --gold:#ad8a4b; --gold-light:#decfae; --blue:#edf7f8; --line:rgba(32,54,61,.14); --header-h:86px; }
body { font-size:14px; line-height:2; letter-spacing:.055em; }
.container { width:min(1160px,calc(100% - 80px)); }
.site-header { background:rgba(255,255,255,.96); border-bottom:1px solid rgba(32,54,61,.1); box-shadow:0 2px 13px rgba(30,52,57,.025); }
.header-inner { width:min(1280px,calc(100% - 72px)); }
.brand { gap:11px; } .brand-mark { width:30px; height:30px; font-size:18px; } .brand-name { font-family:"Noto Sans JP",sans-serif; font-size:20px; font-weight:500; letter-spacing:.11em; }
.global-nav { gap:33px; font-size:10px; font-weight:500; letter-spacing:.17em; } .global-nav .nav-contact { padding:10px 21px; border-color:var(--gold); color:#896b38; }
.section { padding:122px 0; } .section-tint { background:#f3f9fa; } .section-heading h2,.page-hero h1 { font-family:"Noto Sans JP",sans-serif; font-weight:400; letter-spacing:.09em; } .section-heading h2 { font-size:clamp(34px,3.7vw,49px); } .eyebrow { margin-bottom:14px; color:var(--gold); font-size:10px; font-weight:600; letter-spacing:.22em; }
.centered { max-width:680px; margin-bottom:50px; } .centered > p:last-child { color:var(--muted); font-size:13px; }
.two-column { gap:9%; } .section-body { max-width:500px; padding-top:0; } .section-body p { color:var(--muted); }
.text-link { margin-top:18px; color:#967638; font-size:14px; letter-spacing:.08em; }
#news { padding-top:94px; padding-bottom:102px; background:#fff; } #news .centered { max-width:none; margin:0 0 30px; text-align:left; } #news .centered h2 { margin-bottom:8px; font-size:30px; } #news .news-list { border-top-color:rgba(32,54,61,.2); } .news-item a { grid-template-columns:115px 95px 1fr 24px; padding:18px 7px; } .news-item a:hover { background:#f5fafb; } .news-item h3 { font-size:13px; font-weight:500; } .news-more { margin-top:17px; }
.bacillus-overview { background:linear-gradient(135deg,#f7fbfb,#eaf5f7); } .bacillus-content { gap:24px; } .bacillus-content img { border-radius:0; box-shadow:0 10px 28px rgba(40,70,75,.08); } .bacillus-content p { font-size:13px; line-height:2.05; }
.products { background:#fff; } .product-grid { grid-template-columns:minmax(0,900px); } .product-card { grid-template-columns:minmax(280px,400px) minmax(0,1fr); align-items:start; border:1px solid rgba(32,54,61,.1); box-shadow:none; } .product-image { min-height:0; aspect-ratio:1 / 1; background:#edf6f7; } .product-content { padding:50px 55px; } .product-content h3 { font-family:"Noto Sans JP",sans-serif; font-size:25px; font-weight:400; letter-spacing:.07em; } .product-category { font-size:10px; }
.base-purchase-link { display:inline-flex; align-items:center; align-self:flex-start; gap:10px; margin-top:18px; padding:9px 12px 9px 9px; border:1px solid rgba(32,54,61,.18); color:var(--ink); font-size:13px; font-weight:500; letter-spacing:.06em; transition:border-color .2s,background-color .2s,color .2s; } .base-purchase-link:hover { border-color:#b49355; color:#8b6b34; background:#fcfaf5; } .base-purchase-icon { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:25px; padding:0 4px; color:#fff; background:#20363d; font-family:Arial,sans-serif; font-size:8px; font-weight:700; letter-spacing:.03em; } .base-purchase-arrow { margin-left:4px; color:var(--gold); font-size:18px; line-height:1; transition:transform .2s; } .base-purchase-link:hover .base-purchase-arrow { transform:translateX(4px); }
.about { background:#f4f9fa; } .about .two-column { align-items:start; } .about .section-heading h2 { font-size:clamp(37px,4vw,51px); } .about .section-body { display:flex; min-height:300px; flex-direction:column; justify-content:center; border-left:1px solid var(--gold-light); padding-left:34px; }
.business-grid { gap:16px; } .business-card { min-height:240px; padding:33px 30px; border:1px solid rgba(32,54,61,.1); border-top:2px solid var(--gold-light); box-shadow:none; } .business-card h3 { font-size:16px; } .business-card p { font-size:12px; } .card-number { margin-bottom:31px; }
.page-hero { padding:94px 0 70px; background:#f3f9fa; } .page-content { padding:104px 0 126px; } .company-details dl { border-top-color:rgba(32,54,61,.2); } .company-details dl > div { padding:19px 0; }
.contact { padding:108px 0; background:#243b42; } .contact h2 { font-family:"Noto Sans JP",sans-serif; font-size:40px; letter-spacing:.08em; } .button { min-width:300px; padding:15px 22px; }
.site-footer { padding:27px 0; background:#20363d; } .site-footer .brand-name { font-size:15px; }
.product-visual { padding:0 0 88px; background:linear-gradient(180deg,#fffdfd,#fff); } .product-visual-frame { width:min(1536px,100%); margin:0 auto; background:#fff; } .product-visual-frame img { display:block; width:100%; height:auto; } .product-intro { padding:15px 0 122px; background:#fff; } .product-intro-inner { max-width:780px; padding-left:42px; border-left:2px solid #8a3d4a; } .product-intro h1 { margin-bottom:25px; font-family:"Noto Sans JP",sans-serif; font-size:clamp(32px,4vw,50px); font-weight:400; line-height:1.45; letter-spacing:.09em; } .product-intro .eyebrow,.product-spec dt { color:#8a3d4a; } .product-intro-lead { max-width:680px; margin-bottom:32px; color:var(--muted); font-size:15px; line-height:2.1; } .product-spec { margin:0; border-top:1px solid rgba(104,43,56,.18); } .product-spec > div { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid rgba(104,43,56,.18); } .product-spec dt { font-size:11px; } .product-spec dd { font-size:13px; } .product-features { padding:120px 0; background:#fff6f5; } .product-features .centered { margin-bottom:48px; } .product-features-image { width:min(100%,720px); margin:0 auto; overflow:hidden; background:#fff; box-shadow:0 18px 50px rgba(82,27,39,.1); } .product-features-image img { display:block; width:100%; height:auto; } .product-inquiry { background:#faf3f4; } .inquiry-inner { max-width:760px; } .contact-form { display:grid; gap:22px; } .form-row { display:grid; gap:8px; } .form-row label { color:var(--ink); font-size:13px; font-weight:500; } .form-row label span { margin-left:7px; color:#8a3d4a; font-size:10px; font-weight:600; } .form-row input,.form-row select,.form-row textarea { box-sizing:border-box; width:100%; border:1px solid rgba(104,43,56,.24); border-radius:0; padding:12px 14px; color:var(--ink); background:#fff; font:inherit; font-size:14px; line-height:1.6; } .form-row textarea { resize:vertical; } .form-row input:focus,.form-row select:focus,.form-row textarea:focus { outline:2px solid rgba(138,61,74,.28); outline-offset:1px; border-color:#8a3d4a; } .form-consent { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:12px; line-height:1.8; } .form-consent input { width:16px; height:16px; margin:3px 0 0; accent-color:#8a3d4a; } .form-submit { display:inline-flex; width:100%; align-items:center; justify-content:space-between; border:1px solid #7d3442; padding:15px 22px; color:#fff; background:#7d3442; font:inherit; font-size:13px; letter-spacing:.08em; cursor:pointer; transition:background .2s,color .2s; } .form-submit:hover { color:#fff; background:#57202d; } .form-submit span { font-size:19px; } .form-note { margin:0; color:var(--muted); font-size:11px; text-align:center; }
@media (max-width:760px) { :root { --header-h:66px; } .container { width:min(100% - 42px,600px); } .header-inner { width:calc(100% - 42px); } .brand-name { font-size:17px; letter-spacing:.08em; } .section { padding:78px 0; } .section-heading h2 { font-size:32px; } #news { padding:65px 0 72px; } #news .centered { margin-bottom:22px; } #news .centered h2 { font-size:26px; } .news-item a { padding:17px 0; } .bacillus-content { gap:21px; } .product-card { grid-template-columns:1fr; } .product-image { min-height:0; aspect-ratio:1 / 1; } .product-content { padding:28px 25px 30px; } .product-content h3 { font-size:23px; } .about .section-body { min-height:0; border-left:0; padding-left:0; } .business-card { min-height:0; padding:27px 26px; } .page-hero { padding:61px 0 49px; } .page-content { padding:75px 0 82px; } .contact { padding:77px 0; } .product-detail { grid-template-columns:1fr; gap:31px; } .product-detail-copy { padding-top:0; } .product-spec > div { grid-template-columns:100px 1fr; gap:12px; } .contact-form { gap:19px; } }
/* 商品紹介は情報を密度高く見せるため、上下の余白を控えめにします。 */
.product-intro { padding:0 0 72px; }
.base-floating { position:fixed; z-index:30; right:28px; bottom:28px; width:min(330px,calc(100vw - 40px)); padding:20px 20px 18px; border:1px solid rgba(125,52,66,.23); box-shadow:0 14px 34px rgba(47,28,31,.18); background:rgba(255,253,252,.98); backdrop-filter:blur(8px); } .base-floating-label { margin:0 0 4px; color:#8a3d4a; font-size:9px; font-weight:600; letter-spacing:.18em; } .base-floating-title { margin:0 0 13px; color:var(--ink); font-size:14px; font-weight:500; letter-spacing:.04em; } .base-floating-link { display:flex; align-items:center; gap:10px; padding:11px 12px; color:#fff; background:#8a3d4a; font-size:12px; font-weight:600; letter-spacing:.06em; transition:background .2s,transform .2s; } .base-floating-link:hover { background:#6f2e3a; transform:translateY(-1px); } .base-floating-link > span:last-child { margin-left:auto; font-size:18px; line-height:1; } .base-floating-icon { display:inline-flex; align-items:center; justify-content:center; min-width:35px; height:24px; color:#8a3d4a; background:#fff; font-family:Arial,sans-serif; font-size:8px; font-weight:700; letter-spacing:.02em; } .base-floating-close { position:absolute; top:6px; right:7px; width:24px; height:24px; border:0; padding:0; color:#8a3d4a; background:transparent; font-size:20px; line-height:1; cursor:pointer; } .base-floating-close:hover { color:#54202b; }
@media (max-width:760px) { .product-visual { padding-bottom:52px; } .product-intro { padding:0 0 52px; } .product-intro-inner { padding-left:22px; } .product-intro h1 { margin-bottom:17px; font-size:31px; } .product-intro-lead { margin-bottom:25px; font-size:14px; } .product-spec > div { grid-template-columns:92px 1fr; gap:12px; } .product-features { padding:78px 0; } .product-features .centered { margin-bottom:30px; } .product-features-image { width:100%; } }
@media (max-width:760px) { .base-floating { right:16px; bottom:16px; padding:17px 17px 16px; } .base-floating-title { margin-bottom:10px; font-size:13px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
