@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";
:root{--color-primary:#2f6f62;--color-primary-light:#4f8a78;--color-primary-dark:#16483e;--color-secondary:#eef7f3;--color-accent:#b58b48;--color-accent-soft:#f3e7d1;--color-blue:#2f6f9e;--color-text-main:#1e2c28;--color-text-sub:#53635c;--color-text-light:#7b8982;--color-bg-white:#fff;--color-bg-light:#f8f5ee;--color-bg-muted:#eef4f2;--color-border:#e7dfd3;--color-error:#dc2626;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--spacing-section:5rem;--font-main:"Zen Kaku Gothic New",sans-serif;--font-title:"Shippori Mincho",serif;--header-height:88px;--container-width:1280px;--radius-sm:4px;--radius-md:8px;--radius-lg:8px;--transition-fast:.2s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-main);color:var(--color-text-main);-webkit-font-smoothing:antialiased;background:linear-gradient(#f8f5eee6 0%,#fff 34%,#eef7f3bd 100%);line-height:1.7;overflow-x:hidden}a{color:inherit;transition:opacity var(--transition-fast),color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}.reveal{opacity:1;transform:translateY(0)}.reveal-delay-1{--reveal-delay:80ms}.reveal-delay-2{--reveal-delay:.16s}.reveal-delay-3{--reveal-delay:.24s}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .7s,transform .7s;transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 clamp(1.5rem,4vw,3.5rem)}.section{padding:var(--spacing-section)0}.text-center{text-align:center}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.btn{min-height:48px;transition:all var(--transition-fast);letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.78rem 1.45rem;font-weight:700;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 14px 24px #2f6b5a38}.btn-primary:hover{background-color:var(--color-primary-light)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:#ffffffe0}.btn-outline:hover{background-color:var(--color-secondary)}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);line-height:1.4;font-family:var(--font-title);letter-spacing:.02em}h2{color:var(--color-primary-dark);padding-bottom:var(--spacing-sm);font-size:2rem;position:relative}h2:after{content:"";background:var(--color-accent);width:48px;height:2px;position:absolute;bottom:0;left:0}h3{color:var(--color-text-main);font-size:1.4rem}p{margin-bottom:var(--spacing-md)}@media (max-width:768px){:root{--header-height:72px;--spacing-section:3.5rem}h2{font-size:1.6rem}}
.header{min-height:var(--header-height);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffffa;border-bottom:1px solid #1f4d411f;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 8px 26px #1f4d410d}.header-container{align-items:center;gap:clamp(1rem,1.7vw,1.75rem);max-width:1480px;padding-inline:clamp(1.25rem,3vw,3rem);display:flex}.logo{min-width:max-content;color:var(--color-primary-dark);font-family:var(--font-title);letter-spacing:.08em;align-items:center;gap:.9rem;font-size:clamp(1.18rem,1.55vw,1.58rem);font-weight:600;line-height:1.2;display:inline-flex}.logo:hover{color:var(--color-primary-dark)}.logo-mark{width:52px;height:52px;color:var(--color-primary);background:#fff;border:1.5px solid #1f4d416b;border-radius:50%;flex:0 0 52px;place-items:center;display:grid}.logo-type{gap:.18rem;display:grid}.logo-area{font-family:var(--font-main);color:var(--color-text-sub);letter-spacing:.14em;font-size:.72rem;font-weight:500;line-height:1.2;display:block}.nav ul{align-items:center;gap:clamp(.75rem,1.15vw,1.35rem);display:flex}.nav a{color:var(--color-text-main);white-space:nowrap;letter-spacing:.04em;font-size:clamp(.84rem,.9vw,.94rem);font-weight:500}.nav a:hover{color:var(--color-primary)}.nav-oxygen{display:none}.nav-mobile-contact{display:none}.header-contact{gap:.12rem;min-width:max-content;margin-left:auto;display:grid}.header-phone{color:var(--color-primary-dark);font-family:var(--font-title);letter-spacing:.08em;align-items:center;gap:.45rem;font-size:clamp(1.25rem,1.55vw,1.72rem);font-weight:600;line-height:1;display:inline-flex}.header-phone:hover{color:var(--color-primary)}.header-hours{color:var(--color-text-sub);letter-spacing:.02em;font-size:.72rem}.header-cta{background:var(--color-accent);color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;min-height:48px;padding:.72rem 1.4rem;font-weight:700;display:inline-flex;box-shadow:0 14px 24px #b58b4838}.header-cta:hover{color:#fff;background:#a97938}.menu-toggle{color:var(--color-text-main);display:none}@media (max-width:1400px){.header-container{gap:.8rem;padding-inline:clamp(1.25rem,2vw,1.8rem)}.logo{font-size:1.28rem}.logo-area{font-size:.68rem}.nav ul{gap:.58rem}.nav a{font-size:.78rem}.header-phone{font-size:1.34rem}.header-hours{display:none}.header-cta{padding-inline:1.2rem}}@media (max-width:1260px){.header-contact{display:none}.header-cta{margin-left:auto}}@media (max-width:980px){.header{box-shadow:0 4px 18px #1f4d410f}.menu-toggle{width:44px;height:44px;color:var(--color-primary-dark);background:#fff;border:1px solid #1f4d4129;border-radius:50%;flex:0 0 44px;place-items:center;margin-left:auto;display:grid}.nav{top:var(--header-height);border-bottom:1px solid var(--color-border);z-index:999;background:#fff;padding:1rem 0;transition:transform .3s;position:absolute;left:0;right:0;transform:translateY(-150%)}.nav.open{transform:translateY(0);box-shadow:0 4px 16px #00000014}.nav ul{flex-direction:column;gap:1rem;padding:0 1rem}.nav-oxygen{display:block}.nav li{text-align:center;width:100%}:is(.nav li a,.nav li a.btn){justify-content:center;width:100%;font-size:.95rem;display:inline-flex}.nav-mobile-contact{max-width:min(340px,100% - 2rem);color:var(--color-text-sub);border-top:1px solid #1f4d411a;justify-items:center;gap:.55rem;margin:1.15rem auto 0;padding:1rem;font-size:.82rem;display:grid}.nav-mobile-phone{color:var(--color-primary-dark);font-family:var(--font-title);letter-spacing:.08em;align-items:center;gap:.45rem;font-size:1.35rem;font-weight:600;display:inline-flex}.nav-mobile-cta{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;width:100%;min-height:44px;font-weight:700;display:inline-flex}.nav-mobile-cta:hover{color:#fff}.header-cta{margin-left:auto}}@media (max-width:640px){.header-container{grid-template-columns:minmax(0,1fr) 44px;gap:.75rem;padding-inline:1rem;display:grid}.logo-mark{flex-basis:42px;width:42px;height:42px}.logo{letter-spacing:.02em;flex:auto;min-width:0;max-width:100%;font-size:.98rem}.logo-type{min-width:0}.logo-area{letter-spacing:.08em;font-size:.65rem}.header-cta{display:none}.menu-toggle{justify-self:end;margin-left:0}}
.footer{background-color:var(--color-primary-dark);color:#fff;margin-top:auto;padding:4rem 0 2rem}.footer-content{flex-wrap:wrap;gap:4rem;margin-bottom:3rem;display:flex}.footer-info h2{color:#fff;border-bottom:none;font-size:1.5rem}.footer-info a{color:#fff}.footer .hours{margin-top:1rem;font-size:.95rem}.footer .note{color:#ffffffb3;margin-top:.5rem;font-size:.85rem}.footer-links{gap:3rem;display:flex}.footer-column h3{color:#ffffffeb;border-bottom:none;margin-bottom:1rem;font-size:1.05rem}.footer-column ul li{margin-bottom:.6rem}.footer-bottom{text-align:center;color:#ffffffb3;border-top:1px solid #ffffff1a;padding-top:2rem;font-size:.875rem}@media (max-width:768px){.footer-content{flex-direction:column;gap:2rem}.footer-links{flex-direction:column;gap:2rem}}
