/* COWORKMILL English site (2026-10-10). Based on the approved previews preview/en-top.html and preview/en-toranomon-hills-arch.html */
:root{
  --paper:#ffffff; --ground:#f6f4f0; --ink:#181716; --ink-2:#3b3833; --mute:#7d776f; --line:#e8e5df;
  --accent:#2F6A98; --accent-soft:#eef4f9; --dark:#1c1b19;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --jp:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding-inline:24px}
@media (max-width:600px){.wrap{padding-inline:16px}}
[lang="ja"],.ja{font-family:var(--jp)}
/* header */
.nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding-block:16px;border-bottom:1px solid var(--line)}
.wm img{height:26px;width:auto}
.wm small{display:block;font-size:9px;letter-spacing:.16em;color:var(--mute);font-weight:500;margin-top:4px}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;font-size:13.5px;font-weight:500}
.nav ul a[aria-current]{border-bottom:2px solid var(--accent);padding-bottom:2px}
.nav ul a:hover{color:var(--accent)}
.nav .r{margin-left:auto}
.nav .r a{border:1px solid var(--ink);padding:6px 12px;border-radius:2px;font-size:12px;font-weight:600}
.nav .r a:hover{background:var(--ink);color:#fff}
@media (max-width:640px){.nav .r{margin-left:0}}
.crumb{font-size:12px;color:var(--mute);letter-spacing:.04em;padding-top:18px}
.crumb a{border-bottom:1px solid var(--line)}
.head{padding-block:10px 20px}
.tag{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.head h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.8vw,46px);line-height:1.1;margin:0 0 12px;text-wrap:balance;max-width:24em}
.head h1 a{border-bottom:1px solid #cfcac2}
.head h1 a:hover{border-color:var(--ink)}
.lead{font-size:16px;color:var(--ink-2);max-width:46em;margin:0}
.lead.answer{font-size:18px;color:var(--ink)}
/* gallery */
.gal{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;aspect-ratio:16/7.2}
.gal figure{margin:0;position:relative;overflow:hidden;background:var(--dark);cursor:zoom-in}
.gal figure:first-child{grid-row:1/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal figure:hover img{transform:scale(1.03)}
.gal.n1{grid-template-columns:1fr;grid-template-rows:1fr}
.gal.n2{grid-template-columns:2fr 1fr}.gal.n2 figure:nth-child(2){grid-row:1/3}
.gal.n3{grid-template-columns:2fr 1fr}
.gal.n4{grid-template-columns:2fr 1fr 1fr}.gal.n4 figure:nth-child(4){grid-column:2/4}
.gal .all{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--ink);font:600 12.5px var(--sans);padding:7px 11px;border-radius:2px;border:0;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
@media (max-width:700px){.gal,.gal.n2,.gal.n3,.gal.n4{grid-template-columns:1fr 1fr;grid-template-rows:none;aspect-ratio:auto}.gal figure{aspect-ratio:4/3}.gal figure:first-child{grid-column:1/3;grid-row:auto}.gal.n4 figure:nth-child(4),.gal.n2 figure:nth-child(2){grid-column:auto;grid-row:auto}.gal figure:nth-child(n+4){display:none}}
.cap{font-size:12px;color:var(--mute);margin:6px 0 0}
/* body */
.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;padding-block:28px 20px}
@media (max-width:900px){.grid{grid-template-columns:1fr;gap:24px}.grid .visit{order:-1;position:static}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 22px;font-size:11px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.facts span{border-left:2px solid var(--accent);padding-left:9px}
.facts b{display:block;color:var(--ink);font-weight:500;font-size:13.5px;letter-spacing:0;text-transform:none;line-height:1.5;margin-top:2px}
.step{padding-top:30px}
.step .no{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-weight:600}
.step .no a{border-bottom:1px solid var(--accent-soft)}
.step h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.2;margin:0 0 10px;text-wrap:balance}
.step p{margin:0 0 10px;color:var(--ink-2);max-width:42em}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.pair.one{grid-template-columns:1fr}
.pair figure{margin:0;cursor:zoom-in}
.pair img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--ground)}
.pair figcaption{font-size:12px;color:var(--mute);margin-top:5px}
@media (max-width:600px){.pair{grid-template-columns:1fr}}
.word{margin-top:30px;background:var(--ground);padding:18px 20px;border-radius:2px}
.word p{margin:0 0 6px;color:var(--ink-2);font-size:14.5px}
.word b{font-family:var(--serif);font-size:23px;font-weight:500;color:var(--ink)}
.cred{margin-top:30px;border-top:1px solid var(--line);padding-top:14px;font-size:12.5px;color:var(--mute);display:grid;gap:4px}
.cred b{color:var(--ink-2);font-weight:600;margin-right:8px}
.cred a{border-bottom:1px solid var(--line);color:var(--ink-2)}
.narrow{max-width:760px}
/* visit */
.visit{border:1px solid var(--ink);border-radius:2px;padding:20px;align-self:start;position:sticky;top:16px;background:#fff}
.visit h3{font-family:var(--serif);font-weight:600;font-size:25px;margin:0 0 10px}
.row{display:grid;grid-template-columns:62px 1fr;gap:10px;font-size:13.5px;padding-block:8px;border-top:1px solid var(--line);line-height:1.55}
.row > span{color:var(--mute);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px}
.row ul{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.row small{color:var(--mute);font-size:12px}
.visit .chk{margin:6px 0 0;font-size:11px;color:var(--mute)}
.taxi{margin-top:12px;background:var(--ground);padding:14px;border-radius:2px}
.taxi p{margin:0 0 6px;font-size:10.5px;color:var(--mute);letter-spacing:.12em;text-transform:uppercase}
.taxi .ja{font-size:16px;font-weight:700;line-height:1.55;color:var(--ink)}
.taxi .en{font-size:13px;color:var(--ink-2);line-height:1.5;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}
.taxi .tb{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.taxi button,.taxi .tb a{border:1px solid var(--ink);background:#fff;font:600 12px var(--sans);padding:6px 11px;border-radius:2px;cursor:pointer;color:var(--ink)}
.cta{display:block;margin-top:14px;text-align:center;background:var(--ink);color:#fff;font-weight:600;font-size:13.5px;padding:11px;border-radius:2px}
.cta small{display:block;font-weight:400;font-size:11px;opacity:.75}
.cta:hover{background:var(--accent)}
/* hero (top) */
.hero{position:relative;background:var(--dark);margin-top:20px;overflow:hidden}
.hero img{width:100%;aspect-ratio:16/7;object-fit:cover;opacity:.8}
.hero .in{position:absolute;inset:auto 0 0 0;padding:34px 36px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.6vw,58px);line-height:1.04;margin:0 0 10px;max-width:14em;text-wrap:balance}
.hero p{margin:0 0 18px;font-size:15px;opacity:.92;max-width:38em}
.hero .credit{position:absolute;right:12px;top:10px;font-size:11px;color:#eee;opacity:.8}
@media (max-width:700px){.hero img{aspect-ratio:4/5}.hero .in{padding:22px 18px}}
.search{display:flex;max-width:560px;background:#fff;border-radius:2px;overflow:hidden;border:1px solid var(--line)}
.search input{flex:1;min-width:0;border:0;padding:13px 14px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.search button{border:0;background:var(--accent);color:#fff;font:600 14px var(--sans);padding:0 20px;cursor:pointer}
.areas{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.areas a{border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;background:#fff}
.areas a span{color:var(--mute);margin-left:5px;font-variant-numeric:tabular-nums}
.areas a:hover{border-color:var(--ink)}
/* sections */
.sec{padding-block:44px 6px}
.sh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.sh h2{font-family:var(--serif);font-weight:500;font-size:32px;margin:0;line-height:1.1}
.sh p{margin:4px 0 0;color:var(--mute);font-size:13px}
.sh a{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}
.trav{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;background:var(--ground);padding:24px;border-radius:2px}
@media (max-width:860px){.trav{grid-template-columns:1fr}}
.trav h3{font-family:var(--serif);font-weight:500;font-size:28px;margin:0 0 6px;line-height:1.15}
.trav p{margin:0 0 14px;color:var(--ink-2);font-size:14px}
.fl{display:flex;flex-wrap:wrap;gap:8px}
.fl a{border:1px solid var(--ink);background:#fff;font:500 13px var(--sans);padding:7px 12px;border-radius:2px}
.fl a small,.fchips small{color:var(--mute);margin-left:6px;font-variant-numeric:tabular-nums}
.fl a:hover{background:var(--ink);color:#fff}
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* cards */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px}
@media (max-width:980px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}
.card{display:block;min-width:0}
.card .ph{aspect-ratio:4/3;background:var(--ground);overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover img{transform:scale(1.04)}
.card .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:9px}
.card b{display:block;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.2;margin:2px 0 3px}
.card p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.5}
.card .no{font-family:var(--serif);font-size:15px;color:var(--accent);margin-right:6px}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.chips span{background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;padding:1px 7px;border-radius:2px}
/* collections */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
@media (max-width:860px){.cols{grid-template-columns:1fr}}
.col{padding:18px 18px 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start}
@media (min-width:861px){.col{border-right:1px solid var(--line)}.col:nth-child(3n){border-right:0}}
.col .n{font-family:var(--serif);font-size:46px;line-height:.9;color:var(--accent);grid-row:1/3;min-width:1.2em}
.col b{font-weight:600;font-size:15px;line-height:1.3}
.col p{margin:0;font-size:12.5px;color:var(--mute);line-height:1.5}
.col:hover b{color:var(--accent)}
/* how */
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:860px){.how{grid-template-columns:1fr}}
.how div{border-top:1px solid var(--ink);padding-top:10px}
.how b{display:block;font-family:var(--serif);font-size:22px;font-weight:500;margin-bottom:4px}
.how p{margin:0;font-size:13.5px;color:var(--ink-2)}
.how .ja{font-weight:700}
/* list filters */
.fbar{display:grid;gap:12px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchips button{border:1px solid var(--line);background:#fff;font:500 13px var(--sans);padding:6px 11px;border-radius:999px;cursor:pointer;color:var(--ink)}
.fchips button.on,.fchips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.fchips button.on small,.fchips button[aria-pressed="true"] small{color:#ddd}
.fchips.tf button{border-radius:2px;border-color:var(--ink)}
.fcount{margin:0;font-size:13px;color:var(--mute)}
.fnone{padding:40px 0;color:var(--mute)}
.card[hidden]{display:none}
/* Q&A */
.qas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
@media (max-width:760px){.qas{grid-template-columns:1fr}}
.qa{display:block;padding:18px 18px 18px 0;border-bottom:1px solid var(--line)}
.qa b{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.2;display:block}
.qa p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2)}
.qa:hover b{color:var(--accent)}
.qas.small .qa b{font-size:18px}
/* plain pages */
.page{max-width:760px;padding-block:24px 10px}
.page h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.1;margin:0 0 14px}
.page h2{font-family:var(--serif);font-weight:500;font-size:26px;margin:28px 0 8px}
.page p,.page li{color:var(--ink-2)}
.page a{color:var(--accent);border-bottom:1px solid var(--accent-soft)}
.upd{font-size:13px;color:var(--mute)}
table.ops{border-collapse:collapse;width:100%}
table.ops th{text-align:left;white-space:nowrap;padding:10px 16px 10px 0;border-bottom:1px solid var(--line);font-weight:600;vertical-align:top}
table.ops td{padding:10px 0;border-bottom:1px solid var(--line)}
.cform{display:grid;gap:14px;margin-top:18px}
.cform label{display:grid;gap:5px;font-size:13px;font-weight:600}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;padding:10px 12px;border:1px solid #cfcac2;border-radius:2px;background:#fff;color:var(--ink);width:100%}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){.cform .row2{grid-template-columns:1fr}}
.cform button{justify-self:start;background:var(--ink);color:#fff;border:0;font:600 14px var(--sans);padding:12px 22px;border-radius:2px;cursor:pointer}
.cform .hp{position:absolute;left:-9999px}
.cform .note{font-size:12.5px;color:var(--mute);margin:0}
.lst{background:var(--ground);padding:12px 16px;border-radius:2px;font-size:14px}
/* footer */
footer{margin-top:56px;border-top:1px solid var(--line);padding-block:24px 40px;font-size:12.5px;color:var(--mute)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px;color:var(--ink-2)}
footer nav a:hover{color:var(--accent)}
footer p{margin:0;max-width:60em}
/* lightbox */
dialog{border:0;padding:0;background:#000;max-width:min(1100px,96vw);width:100%}
dialog::backdrop{background:rgba(0,0,0,.86)}
dialog img{width:100%;max-height:80vh;object-fit:contain}
dialog .bar{display:flex;justify-content:space-between;align-items:center;color:#ddd;font-size:13px;padding:10px 14px;gap:10px}
dialog button{background:none;border:1px solid #666;color:#fff;font:inherit;padding:4px 10px;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* OFFICEMILL banner (English) */
.omb{display:block;max-width:728px;margin:40px auto 8px}
.omb img{display:block;width:100%;height:auto;border-radius:3px}
