/* Château de Farcheville — direction C (Éditorial) with the finish rules of bar.md mechanism 8.
   Tokens as shipped are documented in design-system.md once the Home critics pass. */
:root{
  --paper:#F5F0E8;--bone:#EDE6D9;--greige:#E5DDCF;--ink:#3A2E27;--ink2:#665850;
  --hair:rgba(58,46,39,.24);
  --accent:#9E4F3B; /* the château's brick, the one chromatic accent: kickers, numerals, small-caps lines, link underlines; under 0.5% of the page */
  --serif:'EB Garamond',Garamond,Georgia,serif;--sans:Inter,system-ui,-apple-system,sans-serif;
  --fs-label:13px;--fs-body:17px;--fs-lede:22px;--fs-h:41px;--fs-h1:clamp(41px,4.5vw,64px);--fs-name:clamp(50px,8.4vw,108px);
  --nav-h:108px;--gut:clamp(20px,4vw,56px);--pad:160px;--col-gap:32px;--bleed:clamp(var(--gut),calc((100vw - 1320px) / 2 + var(--gut)),300px);
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.55 var(--serif);-webkit-font-smoothing:antialiased;font-synthesis:none;font-variant-numeric:oldstyle-nums}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,figure,blockquote{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--gut)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap)}
/* type roles: five sizes on the page (13 / 17 / 22 / 41 / the name), serif for words, sans for labels and numbers */
.h{font-size:var(--fs-h);line-height:1.1;letter-spacing:-.015em;font-weight:500;text-wrap:balance}
.kicker{font:500 var(--fs-body)/1 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.09em;color:var(--accent)}
.lede{font-size:var(--fs-lede);line-height:1.35}
.facts{font:500 var(--fs-label)/1.7 var(--sans);letter-spacing:.03em;color:var(--ink2);font-variant-numeric:lining-nums}
.tl{font:500 var(--fs-label)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:var(--accent)}
.tl:hover{color:var(--accent)}
.btn{font:500 var(--fs-label)/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;padding:22px 34px;cursor:pointer;text-decoration:none;display:inline-block}
.cap{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);border-top:1px solid var(--hair);padding-top:12px;max-width:44ch;font-variant-numeric:lining-nums}
.ph{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.band{padding:var(--pad) 0}
/* the masthead: two rows on paper, on the body margin. Row one: the language switch left, the name centred in small
   caps at the fifth size, the ask right; row two: the six links centred, Garamond small caps, 40px apart. */
.nav{height:var(--nav-h);display:grid;grid-template-rows:64px 44px;padding-inline:var(--gut);background:var(--paper);max-width:1320px;margin-inline:auto}
.nav a{text-decoration:none;white-space:nowrap;color:inherit}
.nav .top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px}
.nav .wm{font:500 var(--fs-lede)/1 var(--serif);font-variant-caps:small-caps;letter-spacing:.14em;text-align:center}
.nav .links{display:flex;justify-content:center;align-items:center;gap:40px;font:500 var(--fs-body)/1 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.08em}
.nav .links a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px;text-decoration-thickness:1px}
.nav .links [aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.nav .ask{justify-self:end;font:500 var(--fs-body)/1 var(--serif);font-variant-caps:small-caps;letter-spacing:.08em;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px;text-decoration-thickness:1px}
.nav .ask:hover{color:var(--accent)}
.nav .lang{display:flex;align-items:center;gap:18px;justify-self:start}
.nav .lang a{display:inline-flex;align-items:center;gap:8px;font:500 var(--fs-label)/1 var(--sans);letter-spacing:.09em;color:var(--ink2);font-variant-numeric:lining-nums}
.nav .lang a:hover,.nav .lang [aria-current]{color:var(--ink)}
.nav .lang .flag{display:block;width:21px;height:14px}
.nav .menu{display:none;position:relative;font:500 var(--fs-body)/1 var(--serif);font-variant-caps:small-caps;letter-spacing:.08em}
.nav .menu summary{cursor:pointer;list-style:none;padding:8px 0}
.nav .menu summary::-webkit-details-marker{display:none}
.nav .menu ul{position:absolute;right:0;top:100%;background:var(--paper);padding:22px 26px;display:grid;gap:18px;border:1px solid var(--hair);z-index:5}
.nav .menu [aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
/* the inquiry bar: drawn controls, hairlines between cells, one dark button, no shadow */
.inq{display:grid;grid-template-columns:1.55fr .95fr .6fr auto;align-items:stretch;background:var(--paper);border:1px solid var(--hair)}
.inq label{display:grid;align-content:center;gap:9px;padding:18px 26px 16px;border-right:1px solid var(--hair);min-width:0}
.inq label span{font:500 var(--fs-label)/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.inq input,.inq select{appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid var(--hair);border-radius:0;background:transparent;font:400 var(--fs-body)/1.3 var(--sans);color:var(--ink);padding:0 0 7px;margin:0;width:100%;outline:0;font-variant-numeric:lining-nums}
.inq label:focus-within input,.inq label:focus-within select{border-bottom-color:var(--ink)}
.inq input::placeholder{color:var(--ink2);opacity:1}
.inq select{padding-right:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233A2E27' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right center;cursor:pointer}
.inq select:has(option[value=""]:checked){color:var(--ink2)}
.inq input[type=number]{-moz-appearance:textfield}
.inq input[type=number]::-webkit-inner-spin-button,.inq input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inq label:focus-within{background:var(--bone)}
.inq .btn{display:flex;align-items:center;justify-content:center;padding:0 36px}
/* hero: the name, one photograph, the bar over its lower edge; no scrim */
.hero{position:relative;height:clamp(600px,calc(100vh - var(--nav-h) - 40px),860px);background:var(--ink);isolation:isolate;max-width:1920px;margin-inline:auto}
.hero .ph{position:absolute;inset:0;object-position:50% 0}
.hero .name{position:absolute;left:0;right:0;top:3%;text-align:center;color:var(--ink);max-width:1320px;margin-inline:auto;padding-inline:var(--gut)}
.hero h1{font:400 var(--fs-name)/1 var(--serif);letter-spacing:-.005em;text-wrap:balance}
/* the lockup: a small-caps line above the name, the name centred, a short rule with the brick diamond beneath */
.hero .sub{margin:0 0 16px;font:500 var(--fs-body)/1.4 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.12em}
.hero .sub span{white-space:nowrap}
.hero .sub span+span::before{content:"·";margin:0 .7em;color:var(--accent)}
.hero .rule{display:block;width:64px;height:1px;background:var(--ink);margin:0 auto 22px;position:relative}
.hero .rule::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;background:var(--accent);transform:translate(-50%,-50%) rotate(45deg)}
.hero .inq{position:absolute;left:max(var(--gut),calc(50% - 660px + var(--gut)));bottom:-40px;width:min(980px,calc(100% - 2*var(--gut)))}
/* band two: the statement, centred on bone, a connective band; the heritage line under it in small caps */
.stmt{background:var(--bone);padding:100px 0 60px;text-align:center}
.stmt p{max-width:44ch;margin-inline:auto;font:400 var(--fs-h)/1.25 var(--serif);font-style:italic;letter-spacing:-.005em;font-variant-numeric:oldstyle-nums}
.stmt .kicker{display:block;margin-top:28px;font-style:normal}
/* band three: the index, four offers numbered, one row */
.idx{background:var(--paper);padding:var(--pad) 0}
.idx .lead{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);margin-bottom:72px}
.idx .lead .kicker{grid-column:1/5}
.idx .lead p:not(.kicker){grid-column:5/10;max-width:34ch}
.idx .list{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);gap:56px var(--col-gap)}
.it .frame{aspect-ratio:3/2;margin-bottom:26px}
.it .num{font:400 var(--fs-body)/1 var(--serif);font-style:italic;color:var(--accent);margin-bottom:18px}
.it .h{margin-bottom:14px}
.it p{max-width:40ch}
.it .facts{margin:18px 0 20px;border-top:1px solid var(--hair);padding-top:12px}
/* band four: one full-bleed photograph (2:1, capped at 1920px and 88vh), its caption beneath on the body margin */
.wide{background:var(--bone);padding-bottom:56px}
.wide figure{aspect-ratio:2/1;max-height:min(88vh,1000px);max-width:1920px;margin-inline:auto}
.wide .cap{margin:20px auto 0;max-width:1320px;padding-inline:var(--gut);border-top:0;padding-top:0}
.wide .cap span{display:block;border-top:1px solid var(--hair);padding-top:12px;max-width:44ch}
/* band five: six dates on greige, old-style figures at heading size, hairlines */
.dates{background:var(--greige);padding:var(--pad) 0}
.dates .lead{grid-column:1/5;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.dates .lead p{max-width:26ch;margin-top:22px}
.dates ol{grid-column:5/13;display:grid;grid-template-columns:1fr 1fr;gap:52px var(--col-gap);align-content:start}
.dates li{border-top:1px solid var(--hair);padding-top:14px;line-height:1.5}
.dates li b + *{max-width:34ch}
.dates b{display:block;font:400 var(--fs-h)/1.2 var(--serif);font-variant-numeric:oldstyle-nums;margin-bottom:8px}
/* band six: the estate, heading left, copy in five of twelve columns, eight amenities in cells under hairlines */
.estate{background:var(--paper);padding:var(--pad) 0}
.estate .h{grid-column:1/5}
.estate .copy{grid-column:6/11}
.estate .copy .tl{display:inline-block;margin-top:26px}
.estate .amen{grid-column:1/13;margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px var(--col-gap)}
.estate .amen li{border-top:1px solid var(--hair);padding-top:14px}
.estate .amen b{display:block;font:500 var(--fs-body)/1.2 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.06em;margin-bottom:6px;color:var(--accent)}
.estate .amen span{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);font-variant-numeric:lining-nums}
/* band seven: four interiors at card size, labels in small caps */
.inside{background:var(--bone);padding:var(--pad) 0}
.inside .lead{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);margin-bottom:48px}
.inside .lead .kicker{grid-column:1/5}
.inside .lead p:not(.kicker){grid-column:5/10;max-width:36ch}
.inside .list{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);gap:32px var(--col-gap)}
.inside .frame{aspect-ratio:4/5;margin-bottom:16px}
.inside b{display:block;font:500 var(--fs-body)/1.2 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}
.inside span{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);font-variant-numeric:lining-nums}
/* band eight: a pair of portrait frames on greige */
.pair{background:var(--greige);padding:var(--pad) 0}
.pair figure{grid-column:span 6}
.pair .frame{height:520px}
.pair .cap{margin-top:16px}
/* band nine: one named review on paper, a connective band, set like the statement */
.rev{background:var(--paper);padding:80px 0 72px;text-align:center}
.rev.short blockquote{max-width:30ch}
.rev.long{padding:72px 0 64px}
.rev.long blockquote{font-size:var(--fs-lede);line-height:1.45;max-width:36ch;letter-spacing:0}
.rev.long.tight blockquote{max-width:30ch}
.rev blockquote{max-width:40ch;margin:0 auto;font:400 var(--fs-h)/1.25 var(--serif);font-style:italic;letter-spacing:-.005em;font-variant-numeric:oldstyle-nums}
.rev cite{display:block;margin-top:26px;font:500 var(--fs-body)/1 var(--serif);font-style:normal;font-variant-caps:small-caps;letter-spacing:.09em;color:var(--accent)}
/* band ten: the closing inquiry band, on every page */
.close{background:var(--bone);padding:var(--pad) 0}
.close.g-paper{background:var(--paper)}.close.g-greige{background:var(--greige)}
.close .grid{row-gap:48px}
.close .lead{grid-column:1/6}
.close .lead p{margin-top:18px;max-width:36ch}
.close .formcol{grid-column:1/13}
.close .inq{border-color:var(--ink)}
.close .contacts{grid-column:1/13;display:flex;gap:64px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:22px;font:400 var(--fs-label)/1.8 var(--sans);letter-spacing:.02em;font-variant-numeric:lining-nums}
.contacts b{display:block;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.contacts a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
.contacts a:hover{text-decoration-color:var(--ink)}
.close .privacy{grid-column:1/13;margin-top:-16px;font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2)}
.close .privacy a{text-underline-offset:4px;text-decoration-color:var(--accent)}
/* footer */
.foot{background:var(--greige);padding:36px 0 44px;font:400 var(--fs-label)/1.8 var(--sans);letter-spacing:.02em;font-variant-numeric:lining-nums}
.foot .wrap{display:grid;grid-template-columns:1fr auto;gap:8px 32px;align-items:start}
.foot .wrap::before{content:"";grid-column:1/-1;border-top:1px solid var(--hair);margin-bottom:14px}
.foot .lines{display:flex;flex-direction:column;gap:2px}
.foot .lines span+span{color:var(--ink2)}
.foot ul{display:flex;gap:26px;flex-wrap:wrap}
.foot a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
.foot a:hover{text-decoration-color:var(--accent)}
/* reveal: scroll is the only clock; nothing stays invisible if it never fires (see the shell script) */
.rise{opacity:0;translate:0 14px;transition:opacity .7s ease,translate .7s ease}
.rise.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.rise{transition:none;opacity:1;translate:0 0}}
/* responsive floor: 1440 / 1280 / 768 / 375 */
@media (max-width:1400px){.nav .links{gap:32px}}
@media (max-width:1180px){.nav .links{gap:26px}.idx .list{grid-template-columns:1fr 1fr}.estate .copy{grid-column:6/13}}
@media (max-width:960px){
  :root{--nav-h:60px}
  .nav{grid-template-rows:60px}
  .nav .links,.nav .ask{display:none}
  .nav .top{grid-template-columns:auto 1fr auto;column-gap:20px}
  .nav .wm{order:1;justify-self:start;font-size:var(--fs-body);letter-spacing:.1em}
  .nav .lang{order:2;justify-self:end;gap:14px}
  .nav .menu{order:3;display:block}
}
@media (max-width:860px){
  :root{--fs-h:32px;--fs-lede:20px;--nav-h:60px;--pad:96px}
  .grid{display:block}
  /* the phone hero: the lockup on a paper band above the photograph (the sky is too narrow for the name once the
     frame is portrait), the photograph at 58svh, the bar below it overlapping 40px, offer full width, date and guests
     side by side (Arthur, 2026-09-06: the stacked bar hid the picture and the name sat on the towers) */
  .hero{height:auto;display:flex;flex-direction:column;background:var(--paper)}
  .hero .ph{position:static;order:2;height:clamp(380px,58svh,560px);object-position:50% 35%}
  .hero .name{position:static;order:1;padding:30px 0 26px;top:auto}
  .hero .sub{margin:0 0 12px;letter-spacing:.1em}
  .hero .sub span{display:block}
  .hero .sub span+span::before{content:none}
  .hero .rule{margin-bottom:14px}
  .hero .inq{order:3;position:relative;left:auto;bottom:auto;width:auto;margin:-40px var(--gut) 0;z-index:1}
  .inq{grid-template-columns:1fr 1fr}
  .inq label{border-bottom:1px solid var(--hair);padding:14px 18px 12px}
  .inq:not(.full) label:nth-child(1){grid-column:1/-1;border-right:0}
  .inq:not(.full) label:nth-child(3){border-right:0}
  .inq .btn{grid-column:1/-1;padding:20px}
  .stmt{padding:72px 0 64px}
  .idx .lead{display:block;margin-bottom:48px}.idx .lead .kicker{display:block;margin-bottom:18px}
  .idx .list{grid-template-columns:1fr;gap:48px}
  .inside .lead{display:block;margin-bottom:40px}.inside .lead .kicker{display:block;margin-bottom:18px}
  .inside .list{grid-template-columns:1fr 1fr;gap:32px 20px}
  .wide{padding-bottom:48px}
  .wide figure{aspect-ratio:4/3;max-height:none}
  .wide .cap{margin-top:16px}
  .dates .lead{display:block;margin-bottom:36px}.dates .lead .tl{display:inline-block;margin-top:20px}
  .dates ol{grid-template-columns:1fr;gap:32px}
  .estate .h{margin-bottom:24px}
  .estate .amen{margin-top:48px;grid-template-columns:1fr 1fr;gap:24px}
  .pair{padding:var(--pad) 0}
  .pair figure+figure{margin-top:40px}
  .pair .frame{height:72vh;min-height:400px}
  .rev{padding:72px 0 64px}
  .close{padding:var(--pad) 0}
  .close .lead p{margin-bottom:36px}
  .close .contacts{margin-top:40px;gap:28px}
  .close .privacy{margin-top:20px}
  .foot .wrap{grid-template-columns:1fr}
}
@media (max-width:480px){:root{--fs-body:16px}.nav .top{column-gap:12px}.nav .wm{letter-spacing:.06em}.nav .lang{gap:10px}.nav .lang a span{display:none}.estate .amen{grid-template-columns:1fr}}
/* ---- inner pages (Le domaine and the offer pages): the photo-and-card hero, half-bands, card rows, tables ---- */
.g-paper{background:var(--paper)}.g-bone{background:var(--bone)}.g-greige{background:var(--greige)}
.hero2{position:relative;background:var(--greige);margin-bottom:-40px}
.hero2 + .stmt{position:relative;padding-top:96px;padding-bottom:56px}
.hero2 .frame{width:100%;aspect-ratio:2/1;min-height:520px;max-height:min(76vh,900px);max-width:1920px;margin-inline:auto}
.hero2 .card{position:relative;z-index:1;max-width:1320px;margin:-216px auto 0;padding-inline:var(--gut)}
.hero2 .card > div{background:var(--paper);padding:40px 48px 36px;max-width:640px}
.hero2 .card h1{font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.018em;font-weight:500;margin:14px 0 18px;text-wrap:balance}
.hero2 .card p{max-width:40ch}
.hero2 .card .facts{margin:0 0 18px;border-bottom:1px solid var(--hair);padding-bottom:12px;font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.03em;color:var(--ink2);font-variant-numeric:lining-nums;max-width:none}
/* the gîte: the two wings side by side, each a single-column list under a small-caps kicker */
.wings{display:grid;grid-template-columns:1fr 1fr;column-gap:144px}
.wings .kicker{display:block;margin-bottom:14px}
.rows.one{grid-template-columns:1fr}
.rows.one li{grid-template-columns:2.2fr 1.4fr .5fr}
.half{padding:0}
.half .grid{align-items:stretch}
.half .art{grid-column:1/8;position:relative;min-height:700px}
.half .art .frame{position:absolute;inset:0}
/* the art half bleeds to its own viewport edge (The Newt): the frame grows past the wrap by the margin */
.half:not(.flip) .art .frame{margin-left:calc(-1 * var(--bleed))}
.half.flip .art .frame{margin-right:calc(-1 * var(--bleed))}
.half .copy{grid-column:8/13;padding:var(--pad) 0 var(--pad) 84px;align-self:center}
.half.flip .copy{padding:var(--pad) 84px var(--pad) 0}
.half.flip .art{grid-column:6/13;grid-row:1}
.half.flip .copy{grid-column:1/6;grid-row:1}
.half .copy .h{margin-bottom:22px}
.half .copy .facts{margin-top:22px;border-top:1px solid var(--hair);padding-top:12px}
.half .copy .tl{display:inline-block;margin-top:24px}
.cards{padding:var(--pad) 0}
.cards .lead{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);margin-bottom:44px}
.cards .lead .h{grid-column:1/5}
.cards .lead p:not(.h){grid-column:5/10;max-width:40ch}
.cards .list{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);gap:32px var(--col-gap)}
.cards .list.three{grid-template-columns:repeat(3,1fr)}
.cards .frame{aspect-ratio:4/3;margin-bottom:16px}
.cards.tbl .below .kicker{display:block;margin-bottom:18px}
.cards.tbl .below .intro{max-width:56ch;margin-bottom:40px}
.cards.tbl .below .rows{display:grid}
.cards.tbl .below .rows li{grid-template-columns:1fr 1.4fr 1.2fr}
.cards b{display:block;font:500 var(--fs-body)/1.2 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}
.cards span{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);font-variant-numeric:lining-nums}
.cards .below{grid-column:1/13;margin-top:72px}
/* rows on hairlines: the spaces table, the lodging ladder, the access list */
.rows{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--col-gap)}
.rows.cols{grid-auto-flow:column;grid-template-rows:repeat(var(--n,5),auto);column-gap:144px}
.rows li,.ladder li,.access li{display:grid;grid-template-columns:1.1fr 1.6fr .9fr;column-gap:20px;align-items:baseline;border-top:1px solid var(--hair);padding:13px 0 15px}
.rows li b,.ladder li b,.access li b{font:500 var(--fs-body)/1.3 var(--serif);font-variant-caps:small-caps;font-variant-numeric:oldstyle-nums;letter-spacing:.05em;color:var(--ink)}
.ladder{max-width:960px}
.rows li span,.ladder li span,.access li span{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);font-variant-numeric:lining-nums}
.rows li span:last-child,.ladder li span:last-child{grid-column:3;color:var(--ink);font-weight:500;text-align:right}
.rows.plain li span:last-child{grid-column:2/4;text-align:left;color:var(--ink2);font-weight:400}
.rows.plain li{padding:17px 0 19px}
.access{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--col-gap)}
.access li{grid-template-columns:1.4fr 1fr;padding:17px 0 19px}
.access li span{color:var(--ink);font-weight:500;text-align:right}
.tbl{padding:var(--pad) 0}
.tbl .h{grid-column:1/5}
.tbl .intro{grid-column:6/12;max-width:56ch;margin-bottom:48px}
.tbl .rows,.tbl .wings{grid-column:1/13}
.venir .lead{grid-column:1/5;display:flex;flex-direction:column}
.venir .lead .tl{margin-top:auto;align-self:flex-start;padding-top:40px}
.venir .lead .facts{margin-top:18px;border-top:1px solid var(--hair);padding-top:12px}
.venir .lead .art{margin-top:36px;max-width:320px}
.venir .lead .art .frame{aspect-ratio:4/3}
.venir .lead .art .cap{margin-top:16px}
/* the contact page: the two contacts under hairlines, the full form, the privacy line */
.contact{padding:var(--pad) 0}
.contact .lead{grid-column:1/8}
.contact .lead .kicker{display:block;margin-bottom:22px}
.contact h1{font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.018em;font-weight:500;margin:0 0 20px;text-wrap:balance}
.contact .lede{max-width:40ch;font-size:var(--fs-body);line-height:1.55;font-variant-numeric:oldstyle-nums}
.contact .who{grid-column:1/13;display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:var(--col-gap);margin-top:64px}
.contact .who > div{display:grid;gap:8px;border-top:1px solid var(--hair);padding-top:16px}
.contact .who b{font:500 var(--fs-body)/1.3 var(--serif);font-variant-caps:small-caps;letter-spacing:.05em;color:var(--accent);margin-bottom:6px}
.contact .who span{font:400 var(--fs-label)/1.6 var(--sans);letter-spacing:.02em;color:var(--ink2);font-variant-numeric:lining-nums}
.contact .who a{font:400 var(--fs-body)/1.4 var(--serif);color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--accent);font-variant-numeric:lining-nums}
.cform{padding:var(--pad) 0}
.cform .lead{grid-column:1/5}
.cform .lead .h{margin-bottom:22px}
.cform .lead .intro{max-width:34ch}
.cform form{grid-column:5/13}
.inq.full{grid-template-columns:1.5fr 1fr .8fr}
.inq.full label{border-bottom:1px solid var(--hair)}
.inq.full label:nth-child(3n){border-right:0}
.inq.full .msg{grid-column:1/-1;border-right:0}
.inq.full textarea{appearance:none;border:0;border-bottom:1px solid var(--hair);border-radius:0;background:transparent;font:400 var(--fs-body)/1.5 var(--sans);color:var(--ink);padding:6px 0 8px;width:100%;resize:none;min-height:112px;outline:none;background-color:transparent}
.inq.full label:focus-within textarea{border-bottom-color:var(--ink)}
.inq.full .send{grid-column:1/-1;display:flex;justify-content:flex-end;padding:22px 26px}
.inq.full .btn{padding:22px 36px}
.cform .privacy{grid-column:5/13;margin-top:24px;font:400 var(--fs-label)/1.7 var(--sans);color:var(--ink2);max-width:72ch}
.cform .privacy a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--accent)}
.rows.plain li span a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--accent)}
/* the legal pages: one measure of prose, sections under hairlines, placeholders in brackets */
.legal{padding:var(--pad) 0;background:var(--bone)}
.legal .doc{max-width:66ch}
.legal .kicker{display:block;margin-bottom:22px}
.legal h1{font-size:var(--fs-h);line-height:1.1;letter-spacing:-.015em;font-weight:500;margin:0 0 22px;text-wrap:balance}
.legal .lede{margin-bottom:12px}
.legal h2{font:500 var(--fs-lede)/1.3 var(--serif);margin:44px 0 12px;padding-top:22px;border-top:1px solid var(--hair)}
.legal p{margin:0 0 12px}
.legal a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--accent)}
.legal .ph{color:var(--ink2);font-variant-numeric:lining-nums}
.legal .note{margin-top:40px;font:400 var(--fs-label)/1.7 var(--sans);color:var(--ink2)}
/* the plans band: the estate plan in seven columns, the lodging map in four, captions on hairlines */
.plans{padding:var(--pad) 0}
.plans .big{grid-column:1/8}
.plans figure{display:grid;grid-template-rows:1fr 96px;align-self:stretch}
.plans .small{grid-column:9/13}
.plans .small svg{align-self:end}
.plans svg{display:block;width:100%;height:auto}
.plans .big svg{max-width:520px}
.plans .cap{margin-top:16px}
.venir .lead .intro{margin:24px 0 0}
.venir .list{grid-column:6/13}
.venir .access{grid-template-columns:1fr}
.tbl .note{grid-column:1/13;margin-top:32px;font:400 var(--fs-label)/1.6 var(--sans);color:var(--ink2);max-width:60ch}
/* the dates band with a photograph under the kicker */
.dates.side .lead{justify-content:flex-start;gap:40px}
.dates.side .art .frame{aspect-ratio:1/1}
.dates.side .lead p{max-width:none}
.dates.side ol{grid-column:6/13;grid-template-columns:1fr;gap:0}
.dates.side li{padding:24px 0 28px;display:grid;grid-template-columns:minmax(0,44ch)}
.dates.side .art .cap{margin-top:16px}
@media (max-width:860px){.dates.side .art{max-width:60%;margin-bottom:24px}}
@media (max-width:860px){
  .hero2 .frame{aspect-ratio:auto;min-height:0;height:70svh;max-height:640px}
  .hero2 .card{margin-top:-40px}.hero2 .card > div{padding:32px 24px 28px}
  .half .art,.half .copy,.half.flip .art,.half.flip .copy{grid-column:auto;grid-row:auto}
  .half .art{min-height:0}.half .art .frame{position:static;aspect-ratio:3/2;height:auto}
  .half .copy{padding:40px 0 var(--pad)}
  .cards .lead{display:block;margin-bottom:40px}.cards .lead .h{margin-bottom:18px}
  .cards .list,.cards .list.three{grid-template-columns:1fr 1fr;gap:28px 20px}
  .plans .big,.plans .small{grid-column:1/13}.plans .small{margin-top:40px;max-width:360px}
  .contact .lead{grid-column:1/13}.contact .who{grid-template-columns:1fr;row-gap:32px;margin-top:40px}
  .inq.full{grid-template-columns:1fr}.inq.full label{border-right:0}.cform .privacy{grid-column:1/13}
  .wings{grid-template-columns:1fr;row-gap:40px}
  .rows,.access{grid-template-columns:1fr}.rows.cols{grid-auto-flow:row;grid-template-rows:none;column-gap:0}
  .rows li,.ladder li,.cards.tbl .below .rows li{grid-template-columns:1fr auto}.rows li span:first-of-type,.ladder li span:first-of-type{grid-column:1/-1;grid-row:2}.rows li span:last-child,.ladder li span:last-child{grid-column:2;grid-row:1}.rows.plain li span:last-child{grid-column:1/-1;grid-row:2;text-align:left}
  .tbl .intro{margin-bottom:32px}
  .venir .intro{margin-bottom:32px}
}
@media (max-width:480px){.cards .list,.cards .list.three{grid-template-columns:1fr}}

/* offer pages: the moments list (a numbered-list body with a bold lead), the short lodging band */
.moments li{max-width:none}
.moments li b{display:block;font:500 var(--fs-body)/1.3 var(--serif);font-variant-caps:small-caps;letter-spacing:.05em;color:var(--accent);margin-bottom:8px}
