/* Shared stylesheet for the converted design pages.
   Generated by _build/convert_design.py — do not edit by hand.
   Separate from raizes-identity.css, which serves the live site. */
:root {
  --cream: rgb(245, 239, 224);
  --cream-card: rgb(253, 251, 246);
  --forest: rgb(28, 58, 46);
  --forest-dark: rgb(20, 38, 29);
  --gold: rgb(192, 144, 68);
  --gold-light: rgb(228, 178, 101);
  --gold-deep: rgb(169, 127, 53);
  --ink: rgb(24, 42, 33);
  --stone: rgb(138, 124, 104);
  --body: rgb(74, 66, 56);
}

.dc001bade{cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0px; font-size: 15px; font-weight: 500;}
.dc00896ef{display:none !important}
.dc00cfe38{border-left: 1px dashed rgba(169, 127, 53, 0.55); margin-left: 6px; display: flex; flex-direction: column; gap: 17px;}
.dc0119819{display: flex; align-items: center; gap: 18px; margin-bottom: 14px;}
.dc014d7e4{display: flex; gap: 12px 26px; flex-wrap: wrap;}
.dc035dcc9{margin-top: 52px;}
.dc0364ebe{position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding: 20px clamp(16px, 4vw, 48px);}
.dc06a34d0{font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--forest); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px;}
.dc06c10e4{width: 100%; height: 320px; object-fit: cover; display: block;}
.dc0853683{font-size: 14.5px; font-weight: 600; margin-bottom: 7px;}
.dc08b938e{border-top: 1px solid rgba(24, 42, 33, 0.2); padding-top: 16px;}
.dc0965bea{list-style: none; margin: 0px 0px 26px; padding: 0px; display: flex; flex-direction: column; gap: 14px; counter-reset: step 0;}
.dc0a2db09{background: rgba(245, 239, 224, 0.05); border: 1px solid rgba(245, 239, 224, 0.14); border-radius: 6px; padding: 28px 30px; flex: 1 1 0%;}
.dc0a747d3{border-top: 1px solid rgba(24, 42, 33, 0.16); border-bottom: 1px solid rgba(24, 42, 33, 0.16); padding: 4px 0px;}
.dc0a992f2{position: relative; min-height: 280px;}
.dc0affa2a{border-radius: 6px; overflow: hidden; margin-top: 20px;}
.dc0e5b1a9{color: var(--cream); text-decoration: none; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;}
.dc0edb493{font-size: 11px; color: rgba(245, 239, 224, 0.7); border: 1px solid rgba(245, 239, 224, 0.22); padding: 6px 11px; border-radius: 99px;}
.dc0eed7f2{display: flex; flex-direction: column; gap: 7px;}
.dc112248c{position: absolute; inset: 0px; background: linear-gradient(rgba(10, 18, 13, 0.42) 0%, rgba(10, 18, 13, 0.18) 40%, rgba(10, 18, 13, 0.78) 100%);}
.dc1159a5a{max-width: 1280px; margin: 0px auto;}
.dc128b5d3{border-top: 1px solid rgba(24, 42, 33, 0.2); padding-top: 20px;}
.dc132b23c{font-size: 15px; color: var(--gold-light); text-decoration: none;}
.dc13332f9{display: flex; align-items: center; gap: 12px 30px; flex-wrap: wrap; justify-content: center;}
.dc13b4df9{background: rgba(245, 239, 224, 0.05); border: 1px solid rgba(245, 239, 224, 0.14); border-radius: 6px; padding: 20px 22px;}
.dc142f28d{margin: 0px 0px 40px; font-size: 16px; font-style: italic; color: var(--stone); font-family: "Cormorant Garamond", serif;}
.dc14c45b1{width: 44px; height: 44px; border: 1px solid rgba(228, 178, 101, 0.5); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: 0.08em; color: var(--gold-light); flex-shrink: 0;}
.dc15147c5{margin-top: auto; display: flex; align-items: center; gap: 18px;}
.dc1561d19{width: 100%; margin-top: 24px; background: var(--forest); color: var(--cream); border: none; cursor: pointer; font: 600 12px "Work Sans", sans-serif; letter-spacing: 0.18em; text-transform: uppercase; padding: 18px;}
.dc168f9da{font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--stone);}
.dc1937b8b{font-family: "Work Sans", sans-serif; color: var(--ink); background: rgb(246, 241, 231);}
.dc1a21917{background: rgb(11, 23, 18); color: rgba(245, 239, 224, 0.6); padding: 74px clamp(20px, 5vw, 64px) 36px;}
.dc1a30e94{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 32px; line-height: 1.15; margin: 0px 0px 12px; color: var(--cream);}
.dc1a52f29{display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--body);}
.dc1b6a2bc{max-width: 560px; font-size: 15.5px; font-weight: 300; line-height: 1.75; color: rgba(245, 239, 224, 0.7); margin: 0px; text-wrap: pretty;}
.dc1d3e5b6{display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px;}
.dc1f96080{display: inline-block; border: 1px solid rgba(245, 239, 224, 0.5); color: var(--cream); text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; padding: 17px 32px;}
.dc204a371{font-size: 12px; color: var(--stone); margin-top: 3px;}
.dc20f87cd{margin: 0px 0px 24px; font-size: 14.5px; font-weight: 300; line-height: 1.7; color: rgba(245, 239, 224, 0.72); text-wrap: pretty;}
.dc212963c{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 26px; color: var(--forest); margin: 0px 0px 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(24, 42, 33, 0.12);}
.dc22e73bb{font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--stone); margin-bottom: 10px;}
.dc23e39e5{display: flex; gap: 26px; font-size: 12px;}
.dc246f773{margin: 0px 0px 10px; font-size: 14.5px; font-weight: 300; line-height: 1.85; color: var(--body);}
.dc249491d{list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 8px;}
.dc2575640{color: rgba(245, 239, 224, 0.6); text-decoration: none;}
.dc25b1504{display: flex; align-items: center; gap: 12px 32px; flex-wrap: wrap; justify-content: center;}
.dc2614eb0{margin: 0px; font-size: 14px; font-weight: 300; line-height: 1.7; color: rgba(245, 239, 224, 0.68);}
.dc2770c67{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 26px; margin: 0px 0px 10px; color: var(--cream);}
.dc28127fa{position: absolute; left: -7px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--gold); border: 2px solid var(--forest-dark); box-sizing: border-box;}
.dc284f987{list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 9px;}
.dc2886eb3{font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 239, 224, 0.5); margin-bottom: 14px;}
.dc291c394{position: absolute; left: -6px; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: var(--forest);}
.dc2a76164{max-width: 1280px; margin: 0px auto; border-top: 1px solid rgba(24, 42, 33, 0.14); padding-top: 90px;}
.dc2b1dcc6{background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 8px; padding: 24px 26px;}
.dc2b230d4{background: var(--forest-dark); padding: 90px clamp(20px, 5vw, 64px); color: var(--cream);}
.dc2b91885{font-size: 11px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px;}
.dc2ceed91{font-size: 15px; color: var(--gold-light);}
.dc2e941cd{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(34px, 5vw, 52px); line-height: 1.08; margin: 0px; max-width: 560px;}
.dc2f1bfb9{background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 6px; overflow: hidden;}
.dc30cfddc{background: var(--cream-card); border-width: 1px 1px 1px 2px; border-style: solid; border-color: rgba(24, 42, 33, 0.14) rgba(24, 42, 33, 0.14) rgba(24, 42, 33, 0.14) var(--gold); border-image: initial; border-radius: 0px 6px 6px 0px; padding: 16px 20px; font-size: 14.5px; font-weight: 300; line-height: 1.7; color: var(--body);}
.dc31cce06{font-size: 12px; color: rgba(245, 239, 224, 0.49);}
.dc320408f{display: flex; justify-content: space-between; align-items: center; gap: 10px 16px; flex-wrap: wrap; background: rgba(245, 239, 224, 0.05); border: 1px solid rgba(245, 239, 224, 0.14); border-radius: 6px; padding: 19px 24px; text-decoration: none;}
.dc321dcdb{padding: 6px 0px 6px 24px; border-left: 1px solid rgba(24, 42, 33, 0.14);}
.dc325cad3{display: inline-block; background: var(--gold); color: var(--forest-dark); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; padding: 17px 32px;}
.dc3304d5b{display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; flex-wrap: wrap;}
.dc33494f7{position: relative; min-height: min(94vh, 860px); display: flex; flex-direction: column; overflow: hidden;}
.dc33ed816{background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column;}
.dc33f7175{margin: 26px 0px 0px; font-size: 13.5px; font-weight: 300; line-height: 1.7; color: var(--stone); max-width: 760px;}
.dc342e16d{position: relative; margin-top: auto; padding: 150px clamp(20px, 5vw, clamp(20px, 5vw, 64px)) 44px;}
.dc34b875e{margin: 0px 0px 14px; font-size: 15.5px; font-weight: 300; line-height: 1.8; color: var(--body); text-wrap: pretty;}
.dc34ba64b{font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-light); margin-bottom: 16px;}
.dc35998b8{width: 15px; height: 15px; border-radius: 4px; background: repeating-linear-gradient(135deg, rgba(138, 124, 104, 0.35) 0px, rgba(138, 124, 104, 0.35) 4px, rgba(138, 124, 104, 0.12) 4px, rgba(138, 124, 104, 0.12) 8px);}
.dc35ae2f8{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 26px; margin: 0px;}
.dc36b537e{border-top: 1px solid rgba(24, 42, 33, 0.16); padding: 4px 0px;}
.dc37ecab9{margin: 0px; font-size: 14px; font-weight: 300; line-height: 1.7; color: rgb(111, 99, 85);}
.dc380b331{display: flex; gap: 22px; flex-wrap: wrap;}
.dc3a9ee50{display: flex; gap: 14px; flex-wrap: wrap;}
.dc3b90b63{margin-bottom: 56px;}
.dc3ba68a8{font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--stone);}
.dc3c3e47f{padding: 110px clamp(20px, 5vw, 64px);}
.dc3c6f091{max-width: 860px; margin: 0px auto; padding: 64px clamp(20px, 5vw, 40px) 90px;}
.dc3f07fcd{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(34px, 5vw, 52px); line-height: 1.08; margin: 0px 0px 16px; color: var(--cream);}
.dc3f45203{display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0px 24px;}
.dc402a962{background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 6px; padding: 32px 32px 34px;}
.dc406febf{color: var(--cream); text-decoration: none; font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase;}
.dc40806cf{background: rgb(239, 231, 214); padding: 100px clamp(20px, 5vw, 64px);}
.dc40aeaa4{display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px;}
.dc415548d{height: 1px; background: rgba(24, 42, 33, 0.12); margin: 20px 0px;}
.dc41609cc{margin: 0px 0px 16px; font-size: 13.5px; font-weight: 300; line-height: 1.65; color: rgb(111, 99, 85);}
.dc41a4195{font-size: 13px; font-weight: 600;}
.dc41ff69c{display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 26px; align-items: stretch;}
.dc429a6c6{background: rgb(11, 23, 18); color: rgba(245, 239, 224, 0.55); padding: 30px clamp(20px, 5vw, 64px);}
.dc43109d5{font-size: 13.5px; color: var(--gold-light); text-decoration: none; border-bottom: 1px solid rgba(228, 178, 101, 0.5); padding-bottom: 2px;}
.dc433a29c{color: rgba(245, 239, 224, 0.75); text-decoration: none;}
.dc435eb86{max-width: 640px; margin-left: auto; width: 100%;}
.dc45681f4{position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; flex: 1 1 320px; min-width: 290px;}
.dc459db50{font-family: "Cormorant Garamond", serif; font-size: clamp(30px, 4.4vw, 44px); color: var(--gold); line-height: 1; margin-bottom: 18px;}
.dc4648e59{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(32px, 4.6vw, 48px); line-height: 1.08; margin: 0px;}
.dc46a6e57{font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(245, 239, 224, 0.55); line-height: 1.7;}
.dc4711ab8{background: var(--forest-dark); display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding: 18px clamp(16px, 4vw, 48px);}
.dc47a43b4{font-size: 12.5px; letter-spacing: 0.1em; color: var(--forest); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px;}
.dc48e3b99{display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap;}
.dc492c525{border: 1px solid rgba(24, 42, 33, 0.22); border-radius: 4px; background: rgb(255, 255, 255); padding: 12px 14px; font: 400 14px "Work Sans", sans-serif; color: var(--ink); outline: none;}
.dc4a693d3{width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(24, 42, 33, 0.25); background: var(--cream-card); color: var(--forest); font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0px;}
.dc4a6a523{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover;}
.dc4b1226a{position: relative; border-radius: 6px; overflow: hidden; min-height: min(80vw, 540px);}
.dc4b8660e{max-width: 430px; font-size: 15.5px; font-weight: 300; line-height: 1.75; color: rgb(111, 99, 85); margin: 0px 0px 6px; text-wrap: pretty;}
.dc4d09ac3{font-family: "Cormorant Garamond", serif; font-size: 34px; color: var(--gold-light); line-height: 1;}
.dc4d7a369{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.1; color: var(--cream); margin: 0px;}
.dc4dafdce{display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 24px;}
.dc4dfad8b{font-weight: 300; font-size: 16.5px; line-height: 1.75; color: rgba(245, 239, 224, 0.8); margin: 0px 0px 30px; text-wrap: pretty;}
.dc4ff7fcc{list-style: none; margin: 0px 0px 26px; padding: 0px; display: flex; flex-direction: column; gap: 14px;}
.dc52a87e0{margin: 32px 0px 0px; font-size: 13px; font-weight: 300; line-height: 1.7; color: var(--stone); max-width: 420px;}
.dc52d7a17{display: flex; flex-direction: column; margin-bottom: 44px;}
.dc5435ebf{margin-top: 44px;}
.dc5453a5f{font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 239, 224, 0.55);}
.dc54680a3{padding: 72px clamp(20px, 5vw, 64px) 100px;}
.dc5479276{position: relative; min-height: 440px; display: flex; flex-direction: column; overflow: hidden;}
.dc54ad4ac{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-auto-rows: 215px; gap: 12px;}
.dc54e03ea{font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 239, 224, 0.49); margin-bottom: 18px;}
.dc55113bb{display: flex; gap: 10px; font-size: 14.5px; font-weight: 300; line-height: 1.7; color: var(--body);}
.dc55c8dc1{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px;}
.dc5656f16{border-bottom: 1px solid rgba(24, 42, 33, 0.14); padding: 30px clamp(20px, 5vw, 64px); background: rgb(246, 241, 231);}
.dc5685860{display: flex; flex-wrap: wrap; gap: 9px;}
.dc5817752{display: flex; align-items: baseline; gap: 9px;}
.dc5a94362{height: 42px;}
.dc5acd782{font-size: 12.5px; color: rgba(245, 239, 224, 0.82); border: 1px solid rgba(245, 239, 224, 0.2); padding: 8px 15px; border-radius: 99px;}
.dc5b515d4{color: var(--gold-light);}
.dc5bc2005{font-size: 14.5px; font-weight: 300; color: rgba(245, 239, 224, 0.6); margin: 16px 0px 0px;}
.dc5c05f4a{font-weight: 600;}
.dc5c3f260{color: rgba(245, 239, 224, 0.7); text-decoration: none;}
.dc5ca088d{display: flex; align-items: center; gap: 22px;}
.dc5e2e3a1{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(30px, 4.4vw, 44px); line-height: 1.1; margin: 0px 0px 18px;}
.dc5f5a677{margin: 0px 0px 18px; font-size: 14px; font-weight: 300; line-height: 1.75; color: rgb(111, 99, 85);}
.dc5fb83fe{list-style: none; margin: 0px 0px 10px; padding: 0px; display: flex; flex-direction: column; gap: 8px;}
.dc6252c6a{max-width: 1280px; margin: 0px auto; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;}
.dc635ae3d{max-width: 820px; margin: 0px auto; padding: 64px clamp(20px, 5vw, 40px) 90px;}
.dc64618f4{background: rgb(239, 231, 214); border-left: 2px solid var(--gold); border-radius: 0px 6px 6px 0px; padding: 20px 26px; font-size: 14px; font-weight: 300; line-height: 1.75; color: var(--body); max-width: 680px;}
.dc65388fc{padding: 110px clamp(20px, 5vw, 64px) 96px;}
.dc659ef99{margin: 16px 0px 0px; font-size: 12.5px; color: var(--stone);}
.dc67a5bbc{font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px;}
.dc67c6ef4{font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-deep);}
.dc67dc586{border: 1px solid rgba(24, 42, 33, 0.22); border-radius: 4px; background: rgb(255, 255, 255); padding: 12px 14px; font: 400 14px "Work Sans", sans-serif; color: var(--ink); outline: none; resize: vertical;}
.dc68b025a{display: contents;}
.dc68f97be{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px;}
.dc697102c{margin: 0px 0px 16px; font-size: 14px; font-weight: 300; line-height: 1.7; color: rgba(245, 239, 224, 0.72);}
.dc6980003{height: 56px; width: auto;}
.dc6981aff{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(31px, 4.5vw, 46px); line-height: 1.1; margin: 0px 0px 16px; color: var(--cream);}
.dc6a621a9{background: var(--forest-dark); padding: 110px clamp(20px, 5vw, 64px); color: var(--cream);}
.dc6ae88e4{display: inline-block; border: 1px solid rgba(245, 239, 224, 0.5); color: var(--cream); text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; padding: 16px 30px;}
.dc6e6fe2d{color: var(--gold-light); font-weight: 600;}
.dc6ec66e2{font-size: 14px; font-weight: 500;}
.dc6f629c3{position: absolute; inset: 0px; background: linear-gradient(rgba(10, 18, 13, 0.6) 0%, rgba(10, 18, 13, 0.14) 44%, rgba(10, 18, 13, 0.74) 100%);}
.dc7012fe7{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(29px, 4vw, 40px); line-height: 1.1; margin: 0px 0px 30px;}
.dc704a5f2{font-weight: 300; font-size: 17.5px; line-height: 1.7; color: rgba(245, 239, 224, 0.86); max-width: 600px; margin: 0px; text-wrap: pretty;}
.dc70613e9{height: 66px; width: auto; display: block; margin-bottom: 20px;}
.dc70a297d{font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(245, 239, 224, 0.5); margin-bottom: 8px;}
.dc70d44d3{background: var(--forest-dark); padding: 66px clamp(20px, 5vw, 64px) 60px; text-align: center;}
.dc72dd3ea{font-size: 11.5px; color: rgba(245, 239, 224, 0.49); letter-spacing: 0.06em;}
.dc739a762{border-top: 1px solid rgba(245, 239, 224, 0.12); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;}
.dc73ddad4{background: var(--forest-dark); border-radius: 8px; padding: 32px 32px 34px; color: var(--cream);}
.dc740cbe5{display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(28px, 4vw, 56px); align-items: start;}
.dc761e7e4{color: var(--gold-light); text-decoration: none;}
.dc76d12b1{width: 15px; height: 15px; border-radius: 4px; background: rgb(255, 255, 255); border: 1px solid rgba(24, 42, 33, 0.25);}
.dc7745fa1{background: rgb(239, 231, 214); border-left: 2px solid var(--gold); border-radius: 0px 6px 6px 0px; padding: 26px 30px;}
.dc77a2f02{font-size: 13px; font-weight: 300; color: rgb(111, 99, 85); line-height: 1.6;}
.dc7882011{margin-top: 48px; background: rgba(245, 239, 224, 0.06); border: 1px solid rgba(245, 239, 224, 0.16); border-radius: 6px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); overflow: hidden;}
.dc7a25ea4{border-bottom: 1px solid var(--gold); text-decoration: none;}
.dc7a45943{font-size: 12px;}
.dc7abc3fe{display: block; font-size: 14px; color: var(--gold-light); margin-top: 3px;}
.dc7b41472{display: grid; grid-template-columns: repeat(auto-fit, minmax(272px, 1fr)); gap: 26px;}
.dc7b5d578{position: absolute; inset: 0px; background: linear-gradient(rgba(10, 18, 13, 0.5) 0%, rgba(10, 18, 13, 0.25) 40%, rgba(10, 18, 13, 0.8) 100%);}
.dc7bda48c{margin: 0px 0px 22px; font-size: 15.5px; font-weight: 300; line-height: 1.8; color: var(--body); max-width: 640px; text-wrap: pretty;}
.dc7cdb08b{display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;}
.dc7e65f41{color: var(--gold-deep); font-weight: 500;}
.dc7f05a6a{padding: 6px 24px 6px 0px;}
.dc7f515b9{font-size: 12.5px; font-weight: 300; line-height: 1.6;}
.dc81f1ecc{display: inline-block; border: 1px solid rgba(228, 178, 101, 0.6); color: var(--gold-light); font-size: 10.5px; letter-spacing: 0.28em; text-transform: uppercase; padding: 8px 16px;}
.dc82b47b9{position: absolute; left: 18px; bottom: 18px; background: var(--cream-card); border-radius: 6px; padding: 14px 18px; display: flex; align-items: center; gap: 14px;}
.dc84d87c7{display: inline-block; background: var(--gold); color: var(--forest-dark); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; padding: 15px 28px;}
.dc851ed17{padding: 0px; border: none; background: none; cursor: zoom-in; border-radius: 6px; overflow: hidden;}
.dc86de267{display: flex; gap: 10px; font-size: 14px; line-height: 1.55; color: var(--body);}
.dc8759339{margin: 0px 0px 34px; font-size: 15.5px; font-weight: 300; line-height: 1.8; color: var(--body); text-wrap: pretty;}
.dc88c3bc9{font-size: 14px; color: rgba(245, 239, 224, 0.7);}
.dc8a5c59e{margin: 10px 0px 0px; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 15px; color: var(--stone);}
.dc8a9dd68{margin: 0px 8px; color: rgba(245, 239, 224, 0.45);}
.dc8c60809{background: var(--forest-dark); border-radius: 8px; padding: 30px 34px; color: var(--cream); margin-top: 52px;}
.dc8ccdbaa{height: 58px; width: auto;}
.dc8d7d48f{display: flex; flex-direction: column; gap: 7px; grid-column: 1 / -1;}
.dc8f456a9{margin: 0px; font-size: 14.5px; font-weight: 300; line-height: 1.85; color: var(--body);}
.dc8f694bf{margin: 0px; font-size: 15.5px; font-weight: 300; line-height: 1.75; color: rgba(245, 239, 224, 0.72); max-width: 560px; text-wrap: pretty;}
.dc8fca114{width: 100%; height: 420px; object-fit: cover; display: block;}
.dc9012c7d{max-width: 1280px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(32px, 5vw, 64px); align-items: center;}
.dc9041e7c{display: flex; flex-wrap: wrap; gap: 10px;}
.dc9161688{height: 42px; display: flex; align-items: center; justify-content: center; font: 400 13px "Work Sans", sans-serif; color: var(--ink); background: rgb(255, 255, 255); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 8px; cursor: pointer; padding: 0px; width: 100%; transition: background 0.15s, border-color 0.15s;}
.dc9285ce2{margin: 0px 0px 16px; font-size: 13.5px; font-weight: 300; line-height: 1.75; max-width: 300px; text-wrap: pretty;}
.dc92ac041{display: block; font-size: 14px; color: var(--forest); text-decoration: none; margin-bottom: 5px;}
.dc930d87f{display: flex; flex-direction: column; gap: 12px;}
.dc9381b18{font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--gold-deep);}
.dc9512448{font-weight: 600; color: var(--forest);}
.dc957bc92{display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 36px 40px; padding-bottom: 52px;}
.dc973be2d{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(32px, 4.6vw, 48px); line-height: 1.1; margin: 0px;}
.dc97fdf9f{width: 15px; height: 15px; border-radius: 4px; background: var(--forest);}
.dc988116a{margin: 0px 0px 14px; font-size: 14px; font-weight: 300; line-height: 1.75; color: var(--body);}
.dc9a55203{display: flex; gap: 14px 26px; font-size: 12px; flex-wrap: wrap;}
.dc9cc5a77{display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px;}
.dc9d399d4{height: 42px; display: flex; align-items: center; justify-content: center; font-size: 13px; color: rgba(138, 124, 104, 0.5);}
.dc9d58435{height: 50px; width: auto; display: block;}
.dc9dc5e24{display: block; font-size: 14px; color: var(--forest); text-decoration: none;}
.dc9e242c0{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(36px, 4.6vw, 58px); line-height: 1.08; color: var(--cream); margin: 0px;}
.dc9e8cbab{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(30px, 4.4vw, 44px); line-height: 1.1; margin: 0px 0px 20px;}
.dc9eee906{display: flex; gap: 18px; align-items: center; background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 6px; padding: 14px; text-decoration: none;}
.dc9f75c4b{background: var(--cream-card); border-radius: 8px; padding: clamp(24px, 4vw, 42px); color: var(--ink);}
.dc9fc195b{font-size: 12.5px; color: var(--body); border: 1px solid rgba(24, 42, 33, 0.2); padding: 9px 16px; border-radius: 99px;}
.dca0c3ef1{display: flex; align-items: center; gap: 12px 18px; flex-wrap: wrap; background: rgba(245, 239, 224, 0.05); border: 1px solid rgba(245, 239, 224, 0.14); border-radius: 6px; padding: 18px 22px; text-decoration: none;}
.dca1a63e8{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 30px; color: var(--forest); margin: 0px 0px 18px; padding-bottom: 10px; border-bottom: 1px solid rgba(24, 42, 33, 0.12);}
.dca2748fd{margin: 0px;}
.dca2c88e6{max-width: 460px; font-size: 15px; font-weight: 300; line-height: 1.75; color: rgb(111, 99, 85); margin: 0px 0px 6px; text-wrap: pretty;}
.dca301437{font-size: 13px; color: rgb(111, 99, 85);}
.dca48a29e{display: flex; gap: 14px; font-size: 13.5px; font-weight: 300; line-height: 1.6; color: rgba(245, 239, 224, 0.82);}
.dca51804e{font-size: 10px; text-transform: uppercase; color: var(--stone); text-align: center; overflow: hidden;}
.dca533505{display: inline-block; background: var(--forest); color: var(--cream); text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; padding: 16px 30px;}
.dca545d31{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(42px, 4.2vw, 60px); line-height: 1.06; color: var(--cream); margin: 24px 0px 18px;}
.dca5a525b{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(54px, 6.2vw, 86px); line-height: 1.02; color: var(--cream); margin: 26px 0px 18px;}
.dca60939c{display: flex; align-items: center; text-decoration: none;}
.dca68afad{position: absolute; left: -5px; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: var(--gold);}
.dca7b04c7{display: flex; align-items: baseline; gap: 8px;}
.dca7ea8c2{border-bottom: 1px solid rgba(24, 42, 33, 0.14); padding: 26px clamp(20px, 5vw, 64px); background: rgb(246, 241, 231);}
.dca7fca98{font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(111, 99, 85); line-height: 1.6;}
.dca810e58{margin: 0px; font-size: 13px; font-weight: 300; line-height: 1.7; color: var(--stone);}
.dca833456{display: block; font-size: 13px; font-weight: 500; color: var(--cream);}
.dca8a54d2{font-size: 13.5px; font-weight: 600; margin-bottom: 6px;}
.dca92ead0{padding: 26px 30px 28px;}
.dcaaa0951{display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 6px;}
.dcab4c0c6{max-width: 1280px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(28px, 4vw, 56px); align-items: center;}
.dcacaa9a0{font-size: 15px; font-weight: 300; color: rgba(245, 239, 224, 0.75); margin: 16px auto 0px; max-width: 640px; line-height: 1.7; text-wrap: pretty;}
.dcacd6097{position: relative; padding-left: 28px; font-size: 14.5px;}
.dcad1d467{font-size: 12.5px; letter-spacing: 0.08em; color: var(--forest); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px;}
.dcae34efa{margin: 10px 0px 18px; font-size: 14px; font-weight: 300; line-height: 1.65; color: rgb(111, 99, 85);}
.dcae764f0{display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap;}
.dcaeaf809{height: 84px; width: auto; display: block; margin-bottom: 12px;}
.dcaf99505{display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px 20px;}
.dcb0831f2{display: flex; flex-direction: column; gap: 14px;}
.dcb0feffb{font-family: "Cormorant Garamond", serif; font-size: clamp(30px, 4.4vw, 44px); color: var(--gold-light); line-height: 1;}
.dcb164169{background: rgba(245, 239, 224, 0.05); border: 1px solid rgba(245, 239, 224, 0.14); border-radius: 6px; padding: 20px 22px; font-size: 13px; font-weight: 300; line-height: 1.8; color: rgba(245, 239, 224, 0.7);}
.dcb213c4e{height: 1px; background: rgba(24, 42, 33, 0.14); margin: 52px 0px 44px;}
.dcb4e3155{display: grid; grid-template-columns: repeat(auto-fit, minmax(272px, 1fr)); gap: 26px; margin-top: 52px;}
.dcb4f7ee9{border: 1px solid rgba(24, 42, 33, 0.22); border-radius: 4px; background: rgb(255, 255, 255); padding: 11px 14px; font: 400 14px "Work Sans", sans-serif; color: var(--ink); outline: none;}
.dcb5d0d15{width: 110px; height: 82px; object-fit: cover; border-radius: 4px; flex-shrink: 0;}
.dcb5eb745{background: var(--forest-dark); color: var(--cream); display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); min-height: 480px;}
.dcb63464e{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: 34px; line-height: 1.1; margin: 0px 0px 20px;}
.dcb715a20{display: flex; flex-direction: column; gap: 22px;}
.dcb7ff4f1{border-radius: 6px; overflow: hidden; margin-bottom: 14px;}
.dcb805893{margin-bottom: 52px;}
.dcb80d869{border-top: 1px solid rgba(24, 42, 33, 0.18); padding-top: 18px;}
.dcb87361e{position: absolute; left: 14px; bottom: 14px; background: rgba(10, 18, 13, 0.72); color: var(--cream); font-size: 11px; letter-spacing: 0.12em; padding: 7px 12px;}
.dcb893ee9{margin: 14px 0px 0px; font-size: 12px; color: var(--stone); text-align: center;}
.dcb93d1ec{position: relative; margin-top: auto; padding: 130px clamp(20px, 5vw, 64px) 48px; text-align: center;}
.dcb9863ab{display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; flex-wrap: wrap; margin-bottom: 56px;}
.dcb9b4c25{padding: 6px 24px; border-left: 1px solid rgba(24, 42, 33, 0.14);}
.dcba30f18{display: flex; flex-direction: column;}
.dcbbaa101{max-width: 860px; flex: 1 1 480px;}
.dcbbbf6ee{flex: 1 1 560px; min-width: 0px;}
.dcbc2c5b2{margin: 0px 0px 20px; font-size: 14.5px; font-weight: 300; line-height: 1.85; color: var(--body); text-wrap: pretty;}
.dcbc8f1b4{display: block; text-align: center; background: var(--gold); color: var(--forest-dark); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; padding: 17px;}
.dcbcc2c9d{font-size: 13.5px; font-weight: 600; margin-bottom: 8px;}
.dcbd198a1{margin: 0px; font-size: 13.5px; font-weight: 300; line-height: 1.65; color: rgb(111, 99, 85);}
.dcbda6c7a{height: 1px; background: rgba(245, 239, 224, 0.14); margin: 24px 0px;}
.dcbe599dd{font-weight: 500; color: var(--cream);}
.dcbf68b6f{display: inline-block; background: var(--gold); color: var(--forest-dark); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; padding: 16px 30px;}
.dcbf87377{display: block; overflow: hidden;}
.dcbf952bd{margin-bottom: 40px;}
.dcbfb14fe{width: 100%; height: 235px; object-fit: cover; display: block; transition: transform 0.5s;}
.dcc2033af{width: 100%; height: 280px; object-fit: cover; display: block;}
.dcc28a694{display: flex; justify-content: space-between; align-items: baseline; gap: 16px;}
.dcc3e712c{max-width: 680px; font-weight: 300; font-size: 16px; line-height: 1.7; color: rgba(245, 239, 224, 0.85); margin: 0px; text-wrap: pretty;}
.dcc428478{max-width: 1280px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(32px, 6vw, 72px); align-items: start;}
.dcc58f4b6{border-radius: 6px; overflow: hidden;}
.dcc5b47c5{width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(228, 178, 101, 0.55); color: var(--gold-light); font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.dcc5c8293{margin: 14px 0px 0px; font-size: 12.5px; color: var(--stone);}
.dcc70695b{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s;}
.dcc74100f{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(29px, 4vw, 40px); line-height: 1.1; margin: 0px;}
.dcc90ade1{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(44px, 4.6vw, 66px); line-height: 1.05; color: var(--cream); margin: 0px 0px 14px;}
.dcc93d82e{font-style: italic; color: var(--gold-light);}
.dcc9c4498{height: 64px; width: auto;}
.dcca89e93{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(32px, 4.6vw, 48px); line-height: 1.1; margin: 0px 0px 22px;}
.dccad8044{display: flex; gap: 18px; align-items: center; padding-bottom: 6px;}
.dccc02fab{padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 56px) clamp(40px, 6vw, 80px) clamp(20px, 5vw, clamp(20px, 5vw, 64px)); display: flex; flex-direction: column; justify-content: center;}
.dccc051f0{display: flex; align-items: center; gap: 16px; margin-top: 38px;}
.dccd3eb94{border: 1px solid rgba(24, 42, 33, 0.22); border-radius: 4px; background: rgb(255, 255, 255); padding: 12px 14px; font: 400 14px "Work Sans", sans-serif; color: var(--ink); outline: none; width: 100%; min-width: 0px;}
.dccd8d37d{width: 1px; background: rgba(245, 239, 224, 0.22);}
.dccd9663c{margin: 14px 0px 0px; font-size: 11.5px; font-weight: 300; line-height: 1.6; color: rgba(245, 239, 224, 0.55); text-align: center;}
.dcce89ae9{display: inline-flex; gap: 8px; margin-left: 8px;}
.dcceb3139{color: var(--cream); text-decoration: none; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid rgba(245, 239, 224, 0.5); padding: 10px 20px;}
.dccfd7914{padding: 100px clamp(20px, 5vw, 64px);}
.dcd053dc6{display: flex; flex-direction: column; gap: 11px; font-size: 13.5px;}
.dcd0ad074{font-size: 11px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px;}
.dcd2caf48{margin: 0px 0px 28px; font-size: 15px; font-weight: 300; line-height: 1.8; color: var(--body); text-wrap: pretty;}
.dcd324976{font-family: "Cormorant Garamond", serif; font-size: 31px; color: var(--gold-deep);}
.dcd486bb3{margin: 10px 0px 0px; font-size: 13px; font-weight: 300; line-height: 1.65; color: rgba(245, 239, 224, 0.68);}
.dcd487b4b{margin: 0px 0px 14px; font-size: 15px; font-weight: 300; line-height: 1.8; color: var(--body); text-wrap: pretty;}
.dcd55a178{position: relative; min-height: min(60vw, 380px);}
.dcd5fcf6c{padding: 0px clamp(20px, 5vw, 64px) 110px;}
.dcd603980{font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 20px; line-height: 1.55; margin: 0px 0px 22px; color: rgb(42, 56, 47);}
.dcd632103{font-size: 11px; letter-spacing: 0.06em; color: rgb(111, 99, 85); border: 1px solid rgba(24, 42, 33, 0.18); padding: 6px 11px; border-radius: 99px;}
.dcd6b4540{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 30px; color: var(--forest); margin: 0px 0px 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(24, 42, 33, 0.12);}
.dcd7d7c71{margin: 0px 0px 36px; font-size: 14.5px; font-weight: 300; line-height: 1.75; color: rgb(111, 99, 85); text-wrap: pretty;}
.dcd8c98ce{font-size: 12.5px; color: var(--stone); margin-top: 4px;}
.dcd939ddc{max-width: 1280px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(172px, 1fr)); gap: 14px 0px;}
.dcd9439e4{font-family: "Cormorant Garamond", serif; font-size: 24px; margin-bottom: 8px;}
.dcd97abf2{font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 239, 224, 0.62); margin-top: 8px;}
.dcd9a4462{color: var(--forest); border-bottom: 1px solid var(--gold); text-decoration: none;}
.dcd9f004b{display: block; font-family: "Cormorant Garamond", serif; font-size: 21px; color: var(--ink);}
.dcda33741{position: absolute; left: 18px; bottom: 18px; background: rgba(10, 18, 13, 0.78); color: var(--gold-light); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; padding: 9px 15px;}
.dcda740b7{font-size: 12.5px; color: var(--gold-light); border: 1px solid rgba(228, 178, 101, 0.45); padding: 8px 14px;}
.dcdad2de0{position: relative; padding-left: 28px; font-size: 14.5px; font-weight: 600;}
.dcdb719ef{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 27px; line-height: 1.15; margin: 10px 0px 14px;}
.dcdbf72d8{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(34px, 5vw, 52px); line-height: 1.08; margin: 0px; max-width: 620px; color: var(--cream);}
.dcdc200e8{font-size: 15px; font-weight: 600; margin-bottom: 10px;}
.dcddd3fd6{font-family: "Cormorant Garamond", serif; font-size: 24px; margin-bottom: 12px;}
.dcde78c57{display: flex; gap: 24px 38px; padding-bottom: 6px; flex-wrap: wrap;}
.dcde84c49{color: var(--gold); font-size: 14px; letter-spacing: 5px; margin-bottom: 18px;}
.dce0246bd{max-width: 1280px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(182px, 1fr)); gap: 14px 0px; align-items: center;}
.dce025461{margin: 0px; font-size: 14.5px; font-weight: 300; line-height: 1.85; color: var(--body); text-wrap: pretty;}
.dce106d6d{display: flex; flex-wrap: wrap; gap: 8px;}
.dce161eb9{font-family: "Cormorant Garamond", serif; font-size: 23px; font-weight: 500; margin-bottom: 10px; color: var(--forest);}
.dce19c80a{display: flex; gap: 10px; font-size: 11px; letter-spacing: 0.12em;}
.dce19fe8e{color: var(--gold); flex-shrink: 0;}
.dce1ca858{color: var(--gold); font-size: 19px; flex-shrink: 0;}
.dce30867b{margin-left: auto; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 239, 224, 0.45);}
.dce3326a7{background: var(--cream-card); border: 1px solid rgba(24, 42, 33, 0.14); border-radius: 6px; padding: 18px 16px;}
.dce3a1a38{font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--stone); margin-bottom: 7px;}
.dce4b1819{display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 26px; margin-top: 60px;}
.dce551244{display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px 32px; margin-bottom: 38px;}
.dce6c2cb5{position: relative; min-height: 420px; display: flex; flex-direction: column; overflow: hidden;}
.dce7823f9{display: inline-block; background: var(--forest); color: var(--cream); text-decoration: none; font-size: 11.5px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; padding: 14px 24px;}
.dce824132{color: var(--gold-deep);}
.dce9c2c93{color: var(--cream); text-decoration: none; font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase; border: 1px solid rgba(245, 239, 224, 0.5); padding: 11px 22px;}
.dceb376f3{text-align: center; margin-bottom: 56px;}
.dcec310b8{font-family: "Cormorant Garamond", serif; font-size: 21px; text-align: center; color: var(--forest); margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(24, 42, 33, 0.1);}
.dced32341{padding: 28px 28px 30px; display: flex; flex-direction: column; flex: 1 1 0%;}
.dceda4fbe{margin: 0px 8px; color: rgba(245, 239, 224, 0.35);}
.dcef51be6{position: relative; border-radius: 6px; overflow: hidden; min-height: min(70vw, 480px);}
.dcf01df9a{font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(34px, 5vw, 52px); line-height: 1.08; margin: 0px;}
.dcf03e9a0{border-top: 1px solid rgba(24, 42, 33, 0.12); padding-top: 14px; font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--stone);}
.dcf09264d{display: block; font-size: 12px; color: var(--stone); margin-top: 4px;}
.dcf136a86{border-bottom: 1px solid rgba(24, 42, 33, 0.16); padding: 4px 0px;}
.dcf214d9d{position: relative; z-index: 10; margin-top: auto; padding: 56px clamp(20px, 5vw, clamp(20px, 5vw, 64px)) 52px; display: flex; justify-content: space-between; align-items: flex-end; gap: 32px 40px; flex-wrap: wrap;}
.dcf2d811f{max-width: 430px; font-size: 15.5px; font-weight: 300; line-height: 1.75; color: rgba(245, 239, 224, 0.7); margin: 0px 0px 6px; text-wrap: pretty;}
.dcf3826d0{display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; flex-wrap: wrap; margin-bottom: 52px;}
.dcf506c6b{margin: 0px 0px 48px; font-size: 16px; font-weight: 300; line-height: 1.85; color: var(--body); text-wrap: pretty;}
.dcf5fdc46{font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--forest-dark); background: rgba(192, 144, 68, 0.28); padding: 3px 9px; border-radius: 99px; margin-left: 8px; font-weight: 500;}
.dcf8ab14d{font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 28px; margin: 0px 0px 26px;}
.dcf9287bb{font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 239, 224, 0.5); margin-bottom: 16px;}
.dcf9a1b2d{font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 239, 224, 0.45);}
.dcf9f35a0{max-width: 1280px; margin: 0px auto; display: flex; flex-wrap: wrap; gap: clamp(32px, 4vw, 56px); align-items: flex-start;}
.dcf9f5726{font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--stone); margin-left: 8px;}
.dcfa5e749{margin: 8px 0px 0px; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 15px; color: var(--stone);}
.dcfad1635{font-size: 11px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px;}
.dcfae2a4a{max-width: 880px; margin: 0px auto; padding: 64px clamp(20px, 5vw, 40px) 90px;}
.dcfb338b3{color: rgba(245, 239, 224, 0.51); text-decoration: none;}
.dcfc03358{font-size: 11.5px; letter-spacing: 0.06em; color: rgba(245, 239, 224, 0.6); margin-bottom: 22px;}
.dcfd62a1f{font-size: 11px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 22px;}
.dcfde834c{grid-area: span 2 / 1 / auto / -1; padding: 0px; border: none; background: none; cursor: zoom-in; border-radius: 6px; overflow: hidden; position: relative;}
.dcfdfc73d{font-size: 11.5px; letter-spacing: 0.06em; color: rgba(245, 239, 224, 0.75); margin-bottom: 18px;}
.dcfe57595{color: var(--ink); text-decoration: none;}
.dcfed382a{height: 56px; width: auto; display: block;}
.dcff0ee3e{padding: 38px 42px; display: flex; flex-direction: column; justify-content: center;}


/* The 27 mock pages carry the design's own sheets inline and those reset the
   document. A blog page links design.css and nothing else, so it kept the
   browser default body margin and painted an 8px white frame down all four
   sides of the cream ground. Declaring it here is a no-op on the mock pages:
   their inline sheet sets the same 0 and, coming after the link, still wins. */
body{margin:0}
.blog-shell{background:var(--cream-card);color:var(--ink);min-height:100vh;
  font-family:"Work Sans",sans-serif;-webkit-font-smoothing:antialiased}
/* On the homepage the nav is legible because the hero image sits behind it; it
   carries no background of its own. An article has no hero image, so the nav
   needs the same dark ground explicitly or it reads as invisible on cream. */
.blog-shell > nav{background:var(--forest-dark)}

/* Nav legibility insurance on the homepages. The nav has no background of its
   own and relies on whatever the hero image happens to be behind it; measured
   at 5.47:1 with the villa photo, with about a point of margin and no guarantee
   for the other two hero variants. This adds a discreet top-down scrim behind
   the nav only, fading to nothing before the hero title. It sits behind the nav
   content, never over it. The nav band on the index pages is already masked in
   the diff, but the scrim is inset -30px and so paints 30px BELOW that band:
   it does extend the masked zone, and diff_design.py accounts for it with
   NAV_SCRIM_OVERHANG. Measured, the visible part of the overhang is 23px at
   1366; the last rows of the gradient fall under the comparison threshold. */
.dc33494f7 > nav{isolation:isolate}
.dc33494f7 > nav::before{content:"";position:absolute;inset:0 0 -30px 0;z-index:-1;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(10,18,13,.62) 0%,rgba(10,18,13,.45) 58%,rgba(10,18,13,0) 100%)}
/* --------------------------------- lisibilité sur le héros photographique
   Mesuré par échantillonnage des pixels réellement peints, en excluant les
   coins des boîtes : sur une forme à coins ronds ils tombent hors de la forme
   et laissent passer la photo, ce qui faussait la mesure.

   Trois éléments d'INTERFACE reçoivent leur propre fond. La photo n'est pas
   touchée : le dégradé du concepteur reste tel quel, et le texte rédactionnel
   du héros (H1, emphase dorée, sous-titre) avec lui — cet arbitrage-là est
   esthétique et se traite séparément.

     badge de statut  1,71:1 -> 8,30:1   pastille sombre
     bouton Réserver 10,35:1 -> 15,60:1  fond, consolidation
     langues inactives 3,06:1 -> 6,55:1  opacité propre relevée

   Vivent dans design.css : une seule feuille couvre les 5 langues. */
.dc81f1ecc{background:rgba(10,18,13,.86);border-radius:999px;
  border-color:rgba(228,178,101,.75)}
.dce9c2c93{background:rgba(10,18,13,.80)}
.dcfb338b3{color:rgba(245,239,224,.78)}

.blog-hero{background:var(--forest-dark);padding:clamp(56px,7vw,96px) clamp(20px,5vw,64px) clamp(40px,5vw,64px)}
.blog-hero-in{max-width:760px;margin:0 auto}
.blog-eyebrow{font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);margin:0 0 16px}
.blog-h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(32px,4.6vw,50px);line-height:1.12;margin:0 0 18px;color:var(--cream)}
.blog-h1 em{font-style:italic;color:var(--gold-light)}
.blog-lede{font-size:17px;font-weight:300;line-height:1.7;color:rgba(245,239,224,.72);margin:0 0 22px}
.blog-meta{font-size:12.5px;letter-spacing:.06em;color:rgba(245,239,224,.55);margin:0}
.blog-main{max-width:760px;margin:0 auto;padding:0 clamp(20px,5vw,64px) clamp(56px,7vw,88px)}
/* --stone measures 3.93:1 on the card cream, below AA for 12.5px text. Same
   hue, 9 percent darker, 4.60:1. Used for the two small greys a blog page
   carries and the mock does not: the breadcrumb and the figure captions. */
.breadcrumb{font-size:12.5px;color:#7E715F;padding:22px 0 6px}
.breadcrumb a{color:var(--body);text-decoration:none;border-bottom:1px solid rgba(192,144,68,.5)}
.breadcrumb a:hover{color:var(--gold-deep)}
.breadcrumb span{margin:0 6px}

/* Reading column. 17px Work Sans over 680px of text gives 70 to 74 characters
   per line, inside the 60 to 75 target. 1.75 line height, body colour at
   8.6:1 on the card cream. */
.article-body{font-size:17px;font-weight:300;line-height:1.75;color:var(--body);max-width:680px}
.article-body p{margin:0 0 22px}
.article-body h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;
  font-size:clamp(26px,3vw,32px);line-height:1.2;color:var(--forest);margin:48px 0 16px}
.article-body h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;
  font-size:22px;line-height:1.25;color:var(--forest);margin:34px 0 12px}
.article-body a{color:var(--forest);text-decoration:none;border-bottom:1px solid var(--gold);
  transition:color .25s ease,border-color .25s ease}
.article-body a:hover{color:var(--gold-deep);border-bottom-color:var(--gold-light)}
.article-body ul{list-style:none;padding:0;margin:0 0 22px}
.article-body ul li{display:flex;gap:12px;margin-bottom:10px}
.article-body ul li::before{content:"";flex:0 0 auto;width:5px;height:5px;margin-top:.72em;
  border-radius:50%;background:var(--gold)}
.article-body strong{font-weight:500;color:var(--ink)}
.article-body figure,.article-img{margin:34px 0;max-width:100%}
.article-body img{width:100%;height:auto;border-radius:6px;display:block}
.article-body figcaption{font-size:12.5px;color:#7E715F;margin-top:10px;text-align:center}
/* A four-column table cannot fit 375px without either cutting content or
   crushing the columns. It is put in its own horizontally scrollable frame:
   the content stays whole and the page itself never scrolls sideways. */
.article-body .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 26px;
  border:1px solid rgba(24,42,33,.14);border-radius:6px;background:var(--cream-card)}
.article-body table{width:100%;border-collapse:collapse;margin:0;font-size:15px;min-width:520px}
.article-body th,.article-body td{text-align:left;padding:10px 12px;
  border-bottom:1px solid rgba(24,42,33,.14)}
.article-body th{font-weight:500;color:var(--forest);font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;background:rgba(192,144,68,.10);
  white-space:nowrap}
.article-body td{vertical-align:top}
.article-body tbody tr:last-child td{border-bottom:0}
/* "Read also" block: two articles carry it at the end of the body. It is not
   prose, so it is lifted off the page as a card rather than reading as one more
   section. Its h2 keeps the heading count intact and only loses its top margin. */
.article-body .related-block{background:rgba(192,144,68,.07);
  border:1px solid rgba(24,42,33,.14);border-radius:6px;
  padding:22px clamp(18px,3vw,26px);margin:44px 0 0}
.article-body .related-block h2{font-size:22px;margin:0 0 14px}
.article-body .related-block ul{margin:0}
.article-body .related-block li:last-child{margin-bottom:0}

/* Blog index. The card grid mirrors the accommodation cards on the homepage:
   same cream-card ground, same 1px rgba(24,42,33,.14) rule, same 6px radius,
   same Cormorant title, same auto-fit grid at minmax(272px,1fr) with a 26px gap. */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:26px;margin:34px 0 0;padding:0;list-style:none}
.blog-card{background:var(--cream-card);border:1px solid rgba(24,42,33,.14);
  border-radius:6px;overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .25s ease}
.blog-card:hover{border-color:rgba(192,144,68,.55)}
.blog-card-link{display:block;text-decoration:none;border:0}
/* height:auto is required: the markup carries height="675" as an attribute,
   which becomes a presentational hint and beats aspect-ratio otherwise. */
.blog-card-img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.blog-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
/* --gold-deep reads 3.52:1 on the card cream at 11px. Same hue, darker, to
   clear AA on small metadata text. */
.blog-card-date{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:#7C5C2A;margin:0 0 10px}
.blog-card h2,.blog-card h3{font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:23px;line-height:1.2;margin:0 0 12px;color:var(--forest)}
.blog-card h2 a,.blog-card h3 a{color:inherit;text-decoration:none;border:0}
.blog-card:hover h2 a,.blog-card:hover h3 a{color:var(--gold-deep)}
.blog-card p{font-size:14.5px;font-weight:300;line-height:1.65;color:var(--body);margin:0}
/* The live cards end on a "read more" link that the mock has no equivalent for.
   Left unstyled it fell back to the browser default and rendered as a blue
   underlined link inside an otherwise gold-and-forest card. Same treatment as
   the nav's small capitals, pushed to the bottom of the card by margin-top.
   Colour is #7C5C2A, not --gold-deep: the latter reads 3.52:1 at 11px on the
   card cream, the same reason .blog-card-date already carries #7C5C2A. */
.read-more{display:inline-block;margin:14px 0 0;font-size:11px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:#7C5C2A;
  text-decoration:none;border-bottom:1px solid rgba(192,144,68,.5);
  transition:color .25s ease,border-color .25s ease}
.blog-card-body .read-more{margin-top:auto;align-self:flex-start;padding-top:14px}
.read-more:hover{color:var(--forest);border-bottom-color:var(--gold)}
.blog-intro{font-size:17px;font-weight:300;line-height:1.75;color:var(--body);
  max-width:680px;margin:0 0 8px}
/* A listing is not a reading column: it takes the homepage's grid width so the
   cards sit three across on a wide screen, as they do on the homepage.
   An article gets its air under the hero from the breadcrumb's own padding; an
   index has no breadcrumb, so its intro sat flush against the dark band. */
.blog-main.is-index{max-width:1280px;padding-top:clamp(30px,4vw,46px)}

.cta-box{background:var(--forest-dark);border-radius:8px;padding:clamp(26px,4vw,40px);
  margin:48px 0 0;color:var(--cream)}
.cta-box h3,.cta-box h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;
  font-size:26px;margin:0 0 12px;color:var(--cream)}
.cta-box p{font-size:15.5px;font-weight:300;line-height:1.7;color:rgba(245,239,224,.75);margin:0 0 18px}
.cta-box a,.btn-book{display:inline-block;background:var(--gold);color:var(--forest-dark);
  text-decoration:none;border:0;border-radius:4px;padding:13px 26px;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;transition:background .25s ease}
.cta-box a:hover,.btn-book:hover{background:var(--gold-light)}

/* --------------------------------------------------------------- thank you
   Reached only once the form has posted, noindex,nofollow. Like a blog page it
   has no photographic hero, so the nav takes the same explicit dark ground.
   The page is short: the shell becomes a column so the footer sits at the
   bottom of the viewport rather than floating halfway up an empty screen. */
.ty-shell{display:flex;flex-direction:column}
.ty-shell > main{flex:1;display:flex;align-items:center;justify-content:center;
  padding:clamp(56px,8vw,96px) clamp(20px,5vw,64px)}
.ty-card{max-width:640px;width:100%;text-align:center}
.ty-icon{width:88px;height:88px;margin:0 auto 30px;border-radius:50%;
  background:var(--forest-dark);display:flex;align-items:center;justify-content:center}
.ty-icon svg{stroke:var(--gold)}
/* the eyebrow sits on cream here, not on the hero's dark ground, so it takes
   the same #7C5C2A as .blog-card-date rather than --gold */
.ty-badge{font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:#7C5C2A;margin:0 0 16px}
.ty-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(30px,4.2vw,46px);line-height:1.15;color:var(--forest);margin:0 0 20px}
.ty-title em{font-style:italic;color:var(--gold-deep)}
.ty-msg{font-size:17px;font-weight:300;line-height:1.75;color:var(--body);
  max-width:520px;margin:0 auto 34px}

/* ------------------------------------------------------------- root splash
   The language picker at the site root. Its redirect script and its detection
   logic are carried over byte for byte; only the skin changes here. The page
   has neither nav nor hero, so the whole ground is the dark the nav and footer
   use everywhere else and the logo reads exactly as it does there. Flat, not a
   gradient, so each ratio below is one measured value rather than a range.
   Measured on rgb(20,38,29): title 13.82:1, its emphasis 8.19:1, lead 8.90:1,
   language code 11.77:1, its label 7.80:1, legal line 5.84:1. */
body.splash-page{margin:0;min-height:100vh;display:flex;align-items:center;
  justify-content:center;padding:24px;background:var(--forest-dark);
  font-family:"Work Sans",sans-serif;color:var(--cream);line-height:1.6;
  -webkit-font-smoothing:antialiased}
.splash{max-width:560px;width:100%;text-align:center;padding:40px 24px}
.splash-logo{display:block;margin:0 auto 30px;width:clamp(88px,16vw,120px);
  height:auto;object-fit:contain}
.splash h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(30px,5vw,46px);line-height:1.15;margin:0 0 18px;color:var(--cream)}
.splash h1 em{font-style:italic;color:var(--gold-light)}
.splash > p{font-size:17px;font-weight:300;color:rgba(245,239,224,.78);
  margin:0 auto 38px;max-width:440px}
.lang-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;
  max-width:520px;margin:0 auto;padding:0;list-style:none}
.lang-card{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:92px;padding:18px 10px;border-radius:6px;text-decoration:none;
  background:rgba(245,239,224,.06);border:1px solid rgba(245,239,224,.16);
  color:var(--cream);transition:background .25s ease,border-color .25s ease}
.lang-card:hover,.lang-card:focus-visible{background:rgba(192,144,68,.14);
  border-color:var(--gold);outline:none}
.lang-code{font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;
  font-weight:500;letter-spacing:.1em;margin-bottom:4px;color:var(--cream)}
.lang-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(245,239,224,.78)}
.lang-card:hover .lang-label,.lang-card:focus-visible .lang-label{color:var(--gold-light)}
.splash-footer{margin:38px 0 0;font-size:12px;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(245,239,224,.6)}
@media (max-width:520px){.lang-grid{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.lang-card{transition:none}}


.cal-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:24px}
.cal-month{background:rgb(253,251,246);border:1px solid rgba(24,42,33,.14);border-radius:6px;padding:18px 16px}
.cal-caption{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:18px;color:rgb(28,58,46);text-align:center;margin-bottom:12px}
.cal-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cal-table th{font:500 11px "Work Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgb(138,124,104);padding-bottom:8px}
.cal-table td{padding:2px;text-align:center}
.cal-day span,.cal-day-btn{display:flex;align-items:center;justify-content:center;height:34px;width:100%;padding:0;
  border-radius:4px;font:400 13px "Work Sans",sans-serif;border:1px solid transparent;background:none;color:rgb(74,66,56)}
.cal-day.is-free .cal-day-btn{background:rgb(253,251,246);border-color:rgba(24,42,33,.25);color:rgb(28,58,46);cursor:pointer}
.cal-day.is-free .cal-day-btn:hover{border-color:rgb(192,144,68);color:rgb(169,127,53)}
.cal-day.is-busy span,.cal-day.is-busy .cal-day-btn{cursor:default;color:rgb(138,124,104);text-decoration:line-through;
  background:repeating-linear-gradient(135deg,rgba(138,124,104,.35) 0 4px,rgba(138,124,104,.12) 4px 8px)}
.cal-day.is-past span,.cal-day.is-past .cal-day-btn{color:rgba(138,124,104,.55);cursor:default;background:none}
.cal-day.is-in .cal-day-btn{background:rgba(192,144,68,.20);border-color:rgba(192,144,68,.42);color:rgb(28,58,46)}
.cal-day.is-start .cal-day-btn,.cal-day.is-end .cal-day-btn{background:rgb(28,58,46);border-color:rgb(28,58,46);color:rgb(253,251,246)}
.cal-day.is-preview .cal-day-btn{border-style:dashed}
.cal-day-btn:focus-visible{outline:2px solid rgb(192,144,68);outline-offset:2px}
.cal-select{margin-top:20px}
.cal-select-hint,.cal-select-note{font:300 13px "Work Sans",sans-serif;color:rgb(74,66,56)}
.cal-select-body{background:rgb(253,251,246);border:1px solid rgba(192,144,68,.30);border-radius:6px;padding:16px 18px;margin-top:12px}
.cal-select-line{display:flex;justify-content:space-between;gap:16px;margin:0 0 6px;font:400 13px "Work Sans",sans-serif}
.cal-select-k{color:rgb(138,124,104)}
.cal-select-v{color:rgb(28,58,46);font-weight:500}
.cal-clear{margin-top:10px;font:500 11px "Work Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:rgb(28,58,46);background:none;border:1px solid rgba(24,42,33,.25);border-radius:4px;padding:8px 14px;cursor:pointer}
.cal-clear:hover{border-color:rgb(192,144,68);color:rgb(169,127,53)}


.dc-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(20,38,29,.94);padding:clamp(16px,4vw,48px)}
.dc-lb[open],.dc-lb.is-open{display:flex}
.dc-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.dc-lb button{position:absolute;background:rgb(253,251,246);color:rgb(28,58,46);border:1px solid rgba(24,42,33,.25);
  border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.dc-lb button:hover{border-color:rgb(192,144,68);color:rgb(169,127,53)}
.dc-lb .dc-lb-prev{left:clamp(8px,2vw,28px)}
.dc-lb .dc-lb-next{right:clamp(8px,2vw,28px)}
.dc-lb .dc-lb-close{top:clamp(8px,2vw,28px);right:clamp(8px,2vw,28px)}
.dc-lb figcaption{position:absolute;bottom:clamp(8px,2vw,28px);left:0;right:0;text-align:center;
  font:300 13px "Work Sans",sans-serif;color:rgba(245,239,224,.8)}


@media (max-width:767.98px){
  /* 1 — La barre. Onze liens et aucun menu burger sur cette page : le burger
     et sa rupture a 1040 px vivent dans assets/css/raizes-identity.css, la
     feuille d'avant la refonte, que plus aucune page ne charge. La barre porte
     donc tout. Elle tenait sur cinq rangees et 208 px avant le moindre
     contenu ; elle tient sur trois, dont deux au gabarit tactile. */
  .dc0364ebe{padding:8px clamp(12px,4vw,20px);gap:4px 12px}
  .dc0364ebe .dcfed382a{height:28px;width:auto}

  /* Les liens de section passent sur une seule rangee qui defile
     horizontalement, au lieu de trois rangees empilees. Rien n'est retire. */
  .dc25b1504{order:3;width:100%;flex-wrap:nowrap;justify-content:flex-start;
    gap:18px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding-bottom:2px;scroll-snap-type:x proximity}
  .dc25b1504::-webkit-scrollbar{display:none}
  /* Un fondu sur le bord droit : sans lui le dernier libelle se coupe net et
     la rangee passe pour tronquee au lieu de defilante. */
  .dc25b1504{-webkit-mask-image:linear-gradient(to right,#000 86%,transparent 100%);
    mask-image:linear-gradient(to right,#000 86%,transparent 100%)}
  .dc25b1504>a{flex:0 0 auto;font-size:11px;letter-spacing:.07em;min-height:32px;
    display:inline-flex;align-items:center;scroll-snap-align:start}

  /* 2 — Langues et Reserver : meme hauteur de boite, 44 px de zone tactile.
     Ces regles sont prefixees par .dc0364ebe, la nav de l'accueil : le groupe
     de droite (dc5ca088d) et le selecteur de langue (dce19c80a) sont partages
     par tous les gabarits, et sans ce prefixe la barre des pages logement, de
     la FAQ et de la region gagnait 9 px qu'aucune demande ne couvrait.
     Les langues faisaient 18x13 px face a un bouton de 126x38, ce qui les
     faisait lire comme desalignees alors que leurs centres coincidaient deja.
     C'est la boite cliquable qui grandit, pas la taille du texte. */
  .dc0364ebe .dc5ca088d{gap:8px}
  .dc0364ebe .dce19c80a{gap:0;align-items:center;font-size:12px}
  .dc0364ebe .dce19c80a>span,.dc0364ebe .dce19c80a>a{display:inline-flex;
    align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .dc0364ebe .dce9c2c93{display:inline-flex;align-items:center;justify-content:center;
    min-height:44px;padding:0 16px;font-size:11px;letter-spacing:.14em}

  /* 3 — Lisibilite du titre. Mesure sur les pixels que couvrent les glyphes,
     pas sur la boite : le badge tient deja 8,5:1 grace a sa pastille sombre,
     mais le H1 tombait a 2,6:1 median et 1,3:1 au pire, sous les 3:1 exiges
     pour du grand texte. Le voile du heros ne montait qu'a 14 % d'opacite a
     mi-hauteur, la ou se pose le titre. Le degrade est reprofile pour que la
     bande qui porte le texte soit franchement sombre ; le haut du cadre reste
     clair et la photo reste lisible. */
  .dc33494f7>.dc6f629c3{background:linear-gradient(
     rgba(10,18,13,.60) 0%, rgba(10,18,13,.32) 20%, rgba(10,18,13,.58) 40%,
     rgba(10,18,13,.76) 66%, rgba(10,18,13,.88) 100%)}
}

/* ------------------------------------------------- accueil, au-dessus de 768 px
   Le H1 echouait aussi sur bureau : mediane confortable a 12,6:1, mais minimum
   a 1,38:1 sur les glyphes que la premiere ligne pose sur une tache claire de
   la photo. La mediane masquait le defaut ; c'est le minimum qui compte.

   Reprofiler le voile du heros marchait mais coutait cher : il fallait
   descendre a 0,38 d'opacite sur un voile cale sur la colonne de texte pour
   atteindre 3,17:1, au prix de 18 % de la clarte de la photo a 1920 px et de
   48 % a 1024. La photo vend le sejour ; ce prix n'avait pas lieu d'etre.

   Une ombre portee sur le seul H1 fait le meme travail sans toucher un pixel
   de la photo. Le fond mesure sous les glyphes est celui que l'ombre peint,
   pas celui du ciel.

   Rayon court et empile plutot que rayon large : les pixels qui resistaient
   sont sur les delies du Cormorant Garamond, 3 px de large contre 5 en
   mediane, et un flou large ne redescend jamais a pleine densite sous un
   trait aussi fin. A rayon egal, empiler densifie sans elargir le halo.

   6 px x4 a 0,9 est le minimum trouve par balayage : 6 px x3 plafonnait a
   2,80 et 5 px x4 a 2,95. 8 px x3 passait aussi, a 3,04, mais avec un halo
   plus large et sans marge. Mesure sur le masque des glyphes, cinq langues,
   cinq largeurs, minimum 3,31:1.

   Reserve a connaitre : les verificateurs automatiques de contraste lisent les
   couleurs declarees et ne tiennent pas compte d'une ombre. Ils continueront
   de signaler ce titre. La mesure sur les pixels reellement peints, elle, est
   au-dessus du seuil. */
@media (min-width:768px){
  .dca5a525b{text-shadow:
    0 0 6px rgba(10,18,13,.9), 0 0 6px rgba(10,18,13,.9),
    0 0 6px rgba(10,18,13,.9), 0 0 6px rgba(10,18,13,.9)}
}

/* Sous 360 px, le logo, les cinq langues au gabarit 44 px et le bouton ne
   tiennent plus sur une rangee : en francais et en portugais le bouton
   depassait de 24 px, en allemand de 10. Le bouton passe donc sous les langues
   plutot que de rogner les zones tactiles. Une rangee de plus, a 320 px
   seulement. */
@media (max-width:359.98px){
  .dc0364ebe .dc5ca088d{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}
}

/* 4 — A 480 px et en dessous, le heros occupait tout l'ecran : le premier bloc de contenu
   commencait 178 px sous le pli a 375 px, 319 px a 320 px. Titre, chapo et
   marges sont reduits, et le heros n'impose plus 94vh. */
@media (max-width:480px){
  .dc33494f7{min-height:62vh}
  .dcf214d9d{padding:24px 20px 26px;gap:16px 24px}
  .dca5a525b{font-size:37px;margin:12px 0 10px}
  .dc704a5f2{font-size:15px;line-height:1.55}
  .dcae764f0{margin-top:18px;gap:10px}
  .dc325cad3,.dc1f96080{padding:14px 20px;font-size:11.5px}
  .dcde78c57{gap:12px 22px}
  .dc4d09ac3{font-size:25px}
  .dcd97abf2{font-size:9.5px;letter-spacing:.14em;margin-top:5px}
  .dc81f1ecc{font-size:10px;letter-spacing:.2em;padding:7px 14px}
}


/* ------------------------------------------------- emplacement publicitaire
   Une bannière 300x250 par article, au milieu, jamais ailleurs. Écrit par
   convert_design.py sous ADS_ENABLED ; le drapeau à False et cette règle
   disparaît avec le balisage.

   Le bloc fait 300px de large dans une colonne de 680 : il est centré, et
   séparé du texte par deux filets — les mêmes que ceux des tableaux et de
   l'encadré « À lire aussi », rgba(24,42,33,.14) — plutôt que par un cadre
   fermé. Avec un bloqueur, le script ne charge pas et l'iframe reste vide :
   on lit alors une respiration entre deux sections, pas une image cassée.

   La hauteur est réservée en CSS, à 250px exactement, indépendamment du
   script : rien de ce que fait la régie ne peut décaler la page.

   Le libellé prend le #7E715F déjà mesuré pour le fil d'Ariane et les
   légendes, 4,60:1 sur le crème des cartes. */
.ad-slot{max-width:680px;margin:44px 0;padding:18px 0 20px;
  border-top:1px solid rgba(24,42,33,.14);border-bottom:1px solid rgba(24,42,33,.14);
  display:flex;flex-direction:column;align-items:center}
.ad-slot-label{font-size:11px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:#7E715F;line-height:16px;height:16px;margin:0 0 12px}
.ad-slot-frame{display:block;width:300px;height:250px;max-width:100%;
  border:0;background:transparent;color-scheme:light}
@media print{.ad-slot{display:none}}
