@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#20241f;--muted:#74786f;--paper:#f4f3ed;--green:#586750;--lime:#c3d28a;--line:#d8d9d1;--serif:'Zen Old Mincho',serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:var(--serif);font-size:40px;line-height:1;color:var(--green)}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.08em}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:.16em;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:34px;font-size:12px}.site-nav>a:not(.nav-contact){transition:color .2s}.site-nav>a:hover{color:var(--green)}.nav-contact{background:var(--green);color:white;padding:12px 18px 12px 22px;letter-spacing:.04em}.nav-contact span{padding-left:18px;color:var(--lime)}.menu-toggle{display:none}.hero{height:min(700px,75vw);min-height:550px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('sado-taraibune.jpg') center 55%/cover;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(22,30,22,.7),rgba(22,30,22,.24) 60%,rgba(22,30,22,.04)),linear-gradient(0deg,rgba(13,22,15,.27),transparent 45%)}.hero-content{position:absolute;left:12%;top:50%;transform:translateY(-48%)}.eyebrow{font:500 10px 'DM Sans',var(--sans);letter-spacing:.2em;color:var(--green);margin:0 0 22px}.eyebrow.light{color:#e2e7d1}.hero h1{font:600 clamp(40px,5.5vw,72px)/1.55 var(--serif);letter-spacing:.13em;margin:0 0 24px}.hero-copy{font-size:13px;line-height:2.2;letter-spacing:.06em;margin:0 0 34px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:9px}.text-link span{font-size:18px}.light-link{color:white}.hero-caption{position:absolute;left:6.2%;bottom:32px;font:9px 'DM Sans',sans-serif;letter-spacing:.2em;writing-mode:vertical-rl}.hero-count{position:absolute;right:6.2%;bottom:34px;font:10px 'DM Sans',sans-serif;letter-spacing:.12em}.hero-count span{font-size:17px;color:var(--lime)}.section{padding:125px 12%}.intro{position:relative;display:grid;grid-template-columns:1fr 2.1fr;gap:50px;overflow:hidden}.section-label{display:flex;align-items:center;gap:12px;font:500 9px 'DM Sans',var(--sans);letter-spacing:.13em;color:var(--muted);white-space:nowrap}.section-label span{font-size:14px;color:var(--green)}.section-label i{width:34px;height:1px;background:#aeb5a5}.intro-body{max-width:700px}.intro-body h2,.section-heading h2,.message h2,.contact h2{font:600 clamp(29px,3.3vw,44px)/1.7 var(--serif);letter-spacing:.1em;margin:0}.intro-body>.eyebrow{margin-top:8px}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:28px}.intro-bottom>p{margin:0;color:#656a61;font-size:12px;line-height:2.4}.circle-link{border:1px solid #c6c9bf;width:105px;height:105px;border-radius:50%;flex:0 0 105px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:10px;transition:background .2s,color .2s}.circle-link span{font-size:18px;color:var(--green)}.circle-link:hover{background:var(--green);color:white}.intro-number{position:absolute;right:4%;bottom:-92px;font:300 250px/.8 'DM Sans',sans-serif;color:rgba(81,96,73,.045)}.business{background:#e9eae3;padding-top:110px;padding-bottom:115px}.section-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:end;margin-bottom:45px;gap:24px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{font-size:34px}.section-note{font-size:11px;color:var(--muted);margin:0 0 8px;justify-self:end}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.business-card{height:370px;position:relative;overflow:hidden;color:white;background:#66725b}.card-photo,.card-overlay{position:absolute;inset:0}.card-photo{background-size:cover;background-position:center;transition:transform .6s}.business-card:hover .card-photo{transform:scale(1.06)}.card-one .card-photo{background-image:url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=900&q=80')}.card-two .card-photo{background-image:url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=900&q=80')}.card-three .card-photo{background-image:url('https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=900&q=80')}.card-overlay{background:linear-gradient(0deg,rgba(16,24,17,.78),rgba(16,24,17,.04) 80%)}.card-content{position:absolute;inset:0;padding:23px;display:flex;flex-direction:column;justify-content:space-between}.card-number{font:11px 'DM Sans',sans-serif;letter-spacing:.15em;color:#e3e7d7}.card-content h3{font:500 21px/1.8 var(--serif);letter-spacing:.08em;margin:0 0 10px}.card-content p{font:9px 'DM Sans',sans-serif;letter-spacing:.15em;color:#d8ddcc;margin:0}.card-arrow{position:absolute;right:22px;bottom:33px;font-size:20px;color:var(--lime)}.edit-note{font-size:10px;color:#777c72;margin:18px 0 0}.message{padding:0;min-height:620px;display:grid;grid-template-columns:1fr 1fr;position:relative}.message-photo{background:url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1200&q=85') center/cover;min-height:620px}.message-content{padding:105px 14% 90px 13%;align-self:center}.message-content .section-label{margin-bottom:74px}.message-content .eyebrow{margin-bottom:15px}.message h2{font-size:38px}.message-copy{margin:28px 0 30px;color:#656a61;font-size:12px;line-height:2.4}.vertical-note{position:absolute;right:4%;top:50%;writing-mode:vertical-rl;font:9px 'DM Sans',sans-serif;letter-spacing:.2em;color:#a5a99f}.company{padding-top:115px;padding-bottom:125px}.company .section-heading{grid-template-columns:1fr 2.4fr;margin-bottom:40px}.company-layout{display:grid;grid-template-columns:.9fr 1.5fr;gap:12%}.company-statement{background:#e8e9e1;padding:35px 40px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between}.brand-mark.large{font-size:53px}.company-statement p{font:500 24px/1.8 var(--serif);letter-spacing:.1em;margin:25px 0}.company-statement small{font:9px 'DM Sans',sans-serif;letter-spacing:.18em;color:#82877d}.company-table{margin:0}.company-table div{display:grid;grid-template-columns:120px 1fr;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.company-table dt{color:#7c8178}.company-table dd{margin:0}.company-table a{border-bottom:1px solid #afb3a9}.contact{position:relative;background:#51614a;color:white;padding:78px 12%;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.contact-text .eyebrow{margin-bottom:12px}.contact h2{font-size:34px;line-height:1.65}.contact-text>p:last-child{font-size:11px;color:#d4dacd;margin:14px 0 0}.contact-button{width:240px;height:92px;border:1px solid rgba(255,255,255,.42);display:flex;align-items:center;padding:0 26px;position:relative;transition:background .2s}.contact-button:hover{background:rgba(255,255,255,.1)}.contact-button span,.contact-button small{display:block}.contact-button span{font-size:12px}.contact-button small{font:9px 'DM Sans',sans-serif;letter-spacing:.15em;color:#cbd3c0}.contact-button b{position:absolute;right:24px;top:25px;font-size:22px;font-weight:400;color:var(--lime)}.contact-stamp{position:absolute;right:38%;top:-30px;border:1px solid rgba(255,255,255,.13);width:105px;height:105px;border-radius:50%;display:grid;place-content:center;text-align:center;font:10px/1.6 'DM Sans',sans-serif;letter-spacing:.1em;color:rgba(255,255,255,.4);transform:rotate(-14deg)}.site-footer{padding:42px 6.2% 20px;background:#f8f7f2;display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-brand{align-self:start}.site-footer>p{justify-self:end;margin:0;font-size:10px;color:var(--muted);line-height:2.1}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;font:9px 'DM Sans',sans-serif;letter-spacing:.1em;color:#858980}.footer-bottom a{color:var(--green)}
@media(max-width:900px){.site-header{height:76px;padding:0 6%}.site-nav{gap:18px}.site-nav>a{font-size:10px}.hero-content{left:10%}.section{padding-left:8%;padding-right:8%}.business-card{height:310px}.card-content{padding:18px}.card-content h3{font-size:18px}.message-content{padding:80px 10%}.contact{padding-left:8%;padding-right:8%}}
@media(max-width:650px){body{font-size:13px}.site-header{height:68px}.brand-mark{font-size:34px}.brand strong{font-size:13px}.menu-toggle{display:flex;border:0;background:none;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px;z-index:4}.menu-toggle span{width:24px;height:1px;background:var(--ink)}.site-nav{display:none;position:absolute;z-index:3;top:68px;left:0;right:0;background:var(--paper);padding:24px 7% 30px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 20px #2221}.site-nav.open{display:flex}.site-nav>a:not(.nav-contact){padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.nav-contact{margin-top:18px;align-self:flex-start}.hero{min-height:570px;height:78vh;max-height:720px}.hero-image{background-position:58% center}.hero-content{left:8%;right:8%;top:48%}.hero h1{font-size:42px;line-height:1.6}.hero-copy{font-size:11px}.hero-caption{left:5%;bottom:25px}.hero-count{right:7%;bottom:25px}.section{padding:82px 7%}.intro{display:block}.intro>.section-label{margin-bottom:45px}.intro-body>.eyebrow{font-size:9px}.intro-body h2{font-size:32px}.intro-bottom{align-items:center;gap:18px}.intro-bottom>p{font-size:10px;line-height:2.25}.circle-link{width:82px;height:82px;flex-basis:82px;font-size:9px}.intro-number{font-size:170px;bottom:-65px}.business{padding-top:80px;padding-bottom:78px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.section-note{justify-self:start;margin:0}.section-heading h2{font-size:30px}.business-grid{grid-template-columns:1fr;gap:12px}.business-card{height:265px}.card-content h3{font-size:20px}.message{display:block}.message-photo{min-height:360px;height:70vw}.message-content{padding:55px 8% 75px}.message-content .section-label{margin-bottom:45px}.message h2{font-size:32px}.message-copy{font-size:11px}.vertical-note{right:5%;top:390px}.company{padding-top:80px;padding-bottom:85px}.company .section-heading{grid-template-columns:1fr;gap:22px}.company-layout{grid-template-columns:1fr;gap:25px}.company-statement{min-height:245px;padding:27px}.company-statement p{font-size:20px}.company-table div{grid-template-columns:88px 1fr;font-size:11px;padding:12px 0}.contact{padding:65px 7% 75px;display:block}.contact h2{font-size:30px}.contact-text>p:last-child{max-width:260px}.contact-button{margin-top:30px;width:100%;max-width:330px}.contact-stamp{right:8%;top:18px;width:78px;height:78px;font-size:8px}.site-footer{padding:35px 7% 18px;grid-template-columns:1fr;gap:20px}.site-footer>p{justify-self:start}.footer-bottom{grid-column:auto;margin-top:8px}}

/* Sado gallery and refreshed visual language */
:root{--ink:#203b45;--muted:#617d87;--paper:#f8fcfd;--green:#16799b;--lime:#c6f0f7;--line:#c7dfe6}
.site-header{border-bottom:1px solid rgba(22,121,155,.12);position:sticky;top:0;z-index:20}
.section[id]{scroll-margin-top:88px}
.hero-shade{background:linear-gradient(90deg,rgba(14,57,76,.78),rgba(14,57,76,.24) 62%,rgba(14,57,76,.03)),linear-gradient(0deg,rgba(10,42,58,.26),transparent 45%)}
.eyebrow.light{color:#d4f4f9}
.intro-bottom>p,.message-copy{color:#58717b}
.intro-number{color:rgba(22,121,155,.07)}
.section-label i{background:#9bcad9}
.circle-link{border-color:#b5d9e3}
.company-statement{background:linear-gradient(145deg,#deeff5,#eef9fb)}
.company-table dt{color:#67828c}
.contact{background:#16799b}
.site-footer{background:#f0f9fb}
.gallery{background:#e9f6f9;padding-top:105px;padding-bottom:100px}
.gallery-head{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;align-items:start;margin-bottom:40px}
.gallery-head .eyebrow{margin:2px 0 8px}
.gallery-head h2{font:600 clamp(29px,3.3vw,44px)/1.7 var(--serif);letter-spacing:.1em;margin:0}
.gallery-head p:last-child{font-size:12px;color:#5a7883;margin:7px 0 0}
.gallery-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:start;gap:28px}
.gallery-card{margin:0;min-width:0}
.gallery-card img{display:block;width:100%;height:540px;object-fit:cover}
.gallery-card-flowers img{object-position:center 47%}
.gallery-card-sunset{margin-top:74px}
.gallery-card-sunset img{height:465px;object-position:center 49%}
.gallery-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid #b9dbe5;padding:17px 1px 16px}
.gallery-card figcaption span{font:500 10px 'DM Sans',sans-serif;letter-spacing:.13em;color:#688894}
.gallery-card figcaption strong{font:500 15px var(--serif);letter-spacing:.05em}
.gallery-note{margin:27px 0 0;font-size:10px;color:#6d8992}
.footer-bottom{flex-wrap:wrap;gap:10px 25px}
@media(max-width:900px){.gallery-head{grid-template-columns:1fr 1.7fr}.gallery-card img{height:430px}.gallery-card-sunset img{height:370px}}
@media(max-width:650px){.section[id]{scroll-margin-top:68px}.gallery{padding-top:76px;padding-bottom:78px}.gallery-head{display:block;margin-bottom:25px}.gallery-head .section-label{margin-bottom:28px}.gallery-head h2{font-size:30px}.gallery-head p:last-child{font-size:11px}.gallery-grid{display:block}.gallery-card img,.gallery-card-sunset img{height:390px}.gallery-card-sunset{margin-top:37px}.gallery-card figcaption{padding:13px 1px;gap:10px}.gallery-card figcaption span{font-size:9px}.gallery-card figcaption strong{font-size:13px}.gallery-note{font-size:9px;line-height:1.7}}

/* Show the complete rock and flowers at every screen width. */
.gallery-card-flowers img{height:auto;object-fit:contain}
